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();
}
}
相关文章:
立即学习“Java免费学习笔记(深入)”;
相关视频:
以上就是java网络编程 TCP传输的建立与基本思路分析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号