ネットワーク アプリケーションはクライアントとサーバーの 2 つの部分に分かれており、Socket クラスはクライアント通信の処理を担当する Java クラスです。このクラスを通じて、指定した IP またはドメイン名を持つサーバーに接続し、サーバーとの間でデータを送受信できます。
ソケット通信について簡単に説明すると、サーバーはソケットの出力ストリームに何かを書き込み、クライアントはソケットの入力ストリームを通じて対応するコンテンツを読み取ることができます。ソケットとソケットの間には双方向接続があるため、クライアントは対応するソケット出力ストリームに内容を書き込むこともでき、サーバー上の対応するソケット入力ストリームは対応するコンテンツを読み取ることができます。
例1: client(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); } } }
例 2: クライアントの略語 (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); } } }
例 3: クライアントの完全な書き方。
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(); }
ここでは、Java ソケット通信におけるクライアント プログラムのデータ送受信に関する関連知識をエディターが紹介します (1) 詳細については、PHP 中国語 Web サイトにログインしてください。