tcp传输:建立客户端和服务器端,建立连接后,通过Socket中的IO流进行数据的传输,关闭socket。
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(); } }
相关文章:
相关视频:
Atas ialah kandungan terperinci java网络编程 TCP传输的建立与基本思路分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!