Socket实现客户端和服务端 简单的入门实例

本文详细介绍了一个简单的Socket通信案例,包括客户端和服务端的实现步骤。客户端通过指定服务器IP和端口进行连接,建立输入输出流并发送消息;服务器端监听指定端口,接收客户端请求并响应。代码示例使用Java语言。

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

2015年1月11日15:34:13 天气阴

客户端实现的步骤:

1.创建客户端Socket指定要连接的服务器ip和端口    

2.通过客户端Socket建立输入输出的流管道

3.关闭释放资源(按倒序即可)

Client.java

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;

/**
 * Socket通信客户端
 */
public class Client {
	public static void main(String[] args) throws Exception {
		//1.创建客户端Socket指定要连接的服务器ip和端口     
		Socket socket = new Socket("192.168.10.20", 8989);
		
		//2.通过客户端Socket建立输入输出的流管道
		DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
		dos.writeUTF("你好,我是客户端!");
		
		DataInputStream dis = new DataInputStream(socket.getInputStream());
		String msg = dis.readUTF();
		System.out.println("服务器说:"+ msg);
		
		//关闭释放资源
		dis.close();
		dos.close();
		socket.close();
	}
}

服务器端实现的步骤:

1.创建服务器端,并且指定监听端口

2.接收客户端的请求

3.通过客户端Socket获取对应客户端的输入输出流

4.关闭释放资源(按倒序即可)

Server.java

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * Socket通信 服务器端
 */
public class Server {
	
	public static void main(String[] args) throws Exception {
		//1.创建服务器端,并且指定监听端口
		ServerSocket server = new ServerSocket(8989);
		System.out.println("服务器启动...");
		
		//2.接收客户端的请求
		Socket socket = server.accept();
		
		//3.通过客户端Socket获取对应客户端的输入输出流
		InputStream in = socket.getInputStream();
		DataInputStream dis = new DataInputStream(in);
		String msg = dis.readUTF();
		System.out.println("客户端说:"+msg);
		
		DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
		dos.writeUTF("收到!");
		
		//4.关闭释放资源(按倒序即可)
		dis.close();
		dos.close();
		socket.close();
		server.close();
	}
}
ps:

1.为了代码直观,这里的异常直接抛出,而不是用try ...catch...

2.应该使用DataInputStream和DataOutputStream简化读写的过程,因为字节转为String的过程麻烦点。

3.这是没有涉及到磁盘文件的读写,只是通过socket来获得输入输出流即可


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值