java Socket通信——TCP协议(二)

本文介绍了使用Java的Socket实现TCP协议下的双向通信,通过示例展示了服务端和客户端如何进行消息的收发,达到类似QQ聊天的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何实现客户端和服务端的互相通信呢?也就是服务端也可以发送消息给客户端,客户端也可以处理消息,就像QQ聊天一样。

客户端代码:

public class TcpClient {

	public static void main(String[] args) throws  IOException {
		//需求:客户端发送数据给服务端,并读取服务端反馈的数据
		//1、创建Socket客户端
		Socket s = new Socket("192.168.0.1",10004);
		
		//2、获取Socket输出流,写数据
		OutputStream out = s.getOutputStream();
		out.write("服务端我来了".getBytes());
		
		//3、获取socket的读取流,读取服务端发回的数据
		InputStream in = (InputStream) s.getInputStream();
		byte[] buf = new byte[1024];
		int len = in.read(buf);
		String  str = new String(buf,0,len);
		
		System.out.println("收取的数据是……"+ str);
		
	}

}

服务器端代码:

public class TcpClient {

	public static void main(String[] args) throws  IOException {
		//需求:客户端发送数据给服务端,并读取服务端反馈的数据
		//1、创建Socket客户端
		Socket s = new Socket("192.168.0.1",10004);
		
		//2、获取Socket输出流,写数据
		OutputStream out = s.getOutputStream();
		out.write("服务端我来了".getBytes());
		
		//3、获取socket的读取流,读取服务端发回的数据
		InputStream in = (InputStream) s.getInputStream();
		byte[] buf = new byte[1024];
		int len = in.read(buf);
		String  str = new String(buf,0,len);
		
		System.out.println("收取的数据是……"+ str);
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值