Netzwerkanwendungen sind in zwei Teile unterteilt: Client und Server, und die Socket-Klasse ist die Java-Klasse, die für die Abwicklung der Client-Kommunikation verantwortlich ist. Über diese Klasse können Sie eine Verbindung zu einem Server mit einer bestimmten IP-Adresse oder einem Domänennamen herstellen und Daten an den Server senden und von diesem empfangen.
Für eine kurze Beschreibung der Socket-Kommunikation schreibt der Server Dinge in den Socket-Ausgabestream und der Client kann den entsprechenden Inhalt über den Socket-Eingabestream lesen. Zwischen Socket und Socket besteht eine bidirektionale Verbindung, sodass der Client auch Dinge in den entsprechenden Socket-Ausgabestream schreiben kann und dann der entsprechende Socket-Eingabestream auf dem Server den entsprechenden Inhalt lesen kann.
Beispiel 1: Abkürzung des Kunden (1).
Socket client = null; try{ client = new Socket(Ip,Port); String msg="发送的数据内容!"; //得到socket读写流,向服务端程序发送数据 client.getOutputStream().write(msg.getBytes()); byte[] datas = new byte[2048]; //从服务端程序接收数据 client.getInputStream().read(datas); System.out.println(new String(datas)); }catch(Exception e){ e.printStackTrace(); }finally { if (client != null) { try { client.close(); } catch (IOException e) { System.out.println("systemerr:" +e); } } }
Beispiel 2: Kundenkürzel (2).
try{ client = new Socket(); SocketAddress socketAddress = new InetSocketAddress(Ip,Port); client.connect(socketAddress, 3000); String msg="访问的服务器返回内容!"; //得到socket读写流,向服务端程序发送数据 client.getOutputStream().write(msg.getBytes()); byte[] datas = new byte[2048]; //从服务端程序接收数据 client.getInputStream().read(datas); System.out.println(new String(datas)); }catch(Exception e){ e.printStackTrace(); }finally { if (client != null) { try { client.close(); } catch (IOException e) { System.out.println("systemerr:" +e); } } }
Beispiel 3: Die vollständige Schreibmethode des Kunden.
try { //1.建立客户端socket连接,指定服务器位置及端口 Socket socket =new Socket(Ip,Port); //2.得到socket读写流 OutputStream os=socket.getOutputStream(); PrintWriter pw=new PrintWriter(os); //输入流 InputStream is=socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); //3.利用流按照一定的操作,对socket进行读写操作 String sendInfo="向服务器发送的数据信息!"; pw.write(sendInfo); pw.flush(); socket.shutdownOutput(); //接收服务器的相应 String replyInfo=null; while(!((replyInfo=br.readLine())==null)){ System.out.println("接收服务器的数据信息:"+replyInfo); } //4.关闭资源 br.close(); is.close(); pw.close(); os.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
Der Herausgeber stellt Ihnen hier das relevante Wissen zum Senden und Empfangen von Daten durch das Java Socket Communication (1)-Clientprogramm vor. Für weitere Informationen melden Sie sich bitte auf der chinesischen PHP-Website an, um mehr zu erfahren!