tcp 送信: クライアントとサーバーを確立した後、ソケットの IO ストリームを通じてデータを送信し、ソケットを閉じます。
v
package cn.hncu.tcp.show; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; //import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class MySocketServer { public static void main(String[] args) throws IOException { ServerSocket ss=new ServerSocket(6666); /* * 服务器在等待客户端来握手(建立连接),这是一个阻塞方法, * 如果没有客户端来握手则会一直处于等待状态。 * 若客户端来请求握手且成功,则会返回与对方(客户端)通讯的Socket s。 * 在后面就可以通过这个返回的s进行与这个客户端通讯 */ Socket s=ss.accept(); //程序若执行到这一句,则表示服务器端一定有一个客户端连接成功,且与对方通讯的Socket就是s System.out.println("2222222"); //s中包含两个流: in, out //OutputStream out=s.getOutputStream();//通过out发数据给对方 InputStream in=s.getInputStream();//通过in读取对方发来的数据 //收数据 DataInputStream din=new DataInputStream(in); String str=din.readUTF(); System.out.println(str); din.close(); in.close(); } }
package cn.hncu.tcp.show; import java.io.DataOutputStream; import java.io.IOException; //import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class MySocketClient { public static void main(String[] args) throws IOException { /* * 客户端尝试向服务器进行握手,若超时则表示连接失败,抛出异常。 否则代码连接成功,后面的代码就可以通过s和服务器通讯 */ Socket s = new Socket("127.0.0.1", 6666); // 程序执行到此,表示客户端一定与服务器端成功建立连接,否则上一句会出异常,不会执行到这里。 System.out.println("11111111"); // s中包含两个流: in, out OutputStream out = s.getOutputStream();// 通过out发数据给对方 //InputStream in = s.getInputStream();// 通过in读取对方发来的数据 // 向服务器发送数据 String str = "Hello server!!! "; DataOutputStream dout = new DataOutputStream(out); dout.writeUTF(str); dout.close(); out.close(); } }
関連記事:
Javaネットワークプログラミングを浅いところから深いところまで写真と文章で解説
関連ビデオ:
以上がJavaネットワークプログラミング TCP送信確立と基本的な考え方の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。