socket 简单介绍与例子

本文介绍了Java提供的四种网络通信方式:InetAddress、URL、Sockets及Datagram,并详细讲解了使用Socket和ServerSocket类进行网络通信的过程,包括客户端和服务端的编程步骤与示例代码。

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

java提供四种类型的网络通信:

1、InelAddress:用于标识网络上的硬件资源,表示互联网协议地址(IP);

2、URL:统一资源定位符  通过URL可以直接读取或写入网络上的数据;

3、Sockets:使用TCP协议实现网络通信的Socket相关的类(客户端的Socket类;服务器端的ServerSocket类),

TCP协议是面向连接、可靠的、有序的,以字节流的方式发送数据基于TCP协议实现网络通信;

4、Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信;


在Socket编程模式中,Socket类用来创建客户端程序,ServerSocket类用来创建服务端程序。

一般步骤:

1、创建服务端程序,通过ServerSocket类创建服务端程序,一般指定一个监听端口,用来等待客户端的连接;

2、创建客户端程序,通过Socket类创建客户端程序,需要指定服务器地址与端口号;

一旦连接建立ServerSocket就可以获得一个Socket实例,通过Socket打开输入、输出流,进行通信。


客户端代码:

try {
    //实例化socket     访问服务器的ip加端口 
	Socket socket = new Socket("192.168.1.101",8888);
    //获取输入流 
	InputStream in = socket.getInputStream();
    // 缓冲区
	byte[] buffer = new byte[in.available()];
    //读到缓冲区 
	in.read(buffer);
	String msg = new String(buffer);
    System.out.println(msg);
} catch (UnknownHostException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

服务端代码:
try {
	//实例化服务器套接字
	ServerSocket server = new ServerSocket(8888);
	while(true){
		//获得客户端套接字
		Socket client = server.accept();
		//获得输出流
		OutputStream out = client.getOutputStream();
		//输出字符串
		String msg = "Hello world!";
		//写字符串
		out.write(msg.getBytes());
		//关闭输出流
		client.close();
	}
} catch (IOException e) {
	e.printStackTrace();
}

更加详细介绍:http://blog.youkuaiyun.com/pony_maggie/article/details/47193863


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值