Socker 包是创建客户端的,用于链接服务器;
ServerSocket 包是创建服务器的,启动端口进行监听等待链接
socket客户端-----------------
java.lang.String request = "我是请求的内容";
//链接服务器
Socket socket = new Socket("127.0.0.1",6666);
//获取字节输出流,用于向服务器发送数据
OutputStream os = socket.getOutputStream();
//调用write方法,进行发送
os.write(request.getBytes());
//获取字节输入流,用于接收到服务器返回来的内容
InputStream is = socket.getInputStream();
/**
*
* 接收到服务器返回的数据后,容read()方法进行读取
* read() -- 每次读取一个字节
* read(byte b)-- 定义一个字节数组,数组的长度就是每次读取的字节数
* read方法返回的int,代表每次读取的有效字节数
* 读取到最后最后时再读取会返回-1
* 比如:返回的有三个字符:a b c
* 第一次读返回 a
* 第二次读返回 b
* 第三次读返回 c
* 第四次读返回 -1
*/
//每次读取一个字节并存储到 StringBuld中
StringBuilder builder = new StringBuilder();
int len;//记录读取的有效字节数
while ((len = is.read()) != -1){
builder.append((char)len);
}
//每次读取一定数量的字节数,读取到的字节存储到该字节数组中
byte[] bytes = new byte[6];
while ((len = is.read(bytes)) != -1){
System.out.println(new java.lang.String(bytes));
}
socket服务器--
解析字节数据参考客户端
ServerSocket serverSocket = new ServerSocket(9999);
Socket socket1 = serverSocket.accept();
InputStream inputStream = socket1.getInputStream();
OutputStream outputStream = socket1.getOutputStream();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下