一、基础知识

1、两台计算机通过网络进行通信的条件

  • IP地址
  • 协议
  • 端口号

    这三个条件能够唯一识别网络中的进程。

2、TCP/IP模型

Java Socket总结

3、Java提供的四大类网络功能

  • InetAdress:用于标识网络上的硬件资源
  • URL:统一资源定位符,通过URL可以直接读取或者写入网络的数据
  • Sockets:使用TCP协议实现网络通信的Socket相关的类
  • Datagram:使用UDP协议,将数据保存在数据报中,通过网络通信

二、基于TCP协议的Socket通信

1、Socket通信模型

Java Socket总结


感觉和Tcp/IP协议的三次握手很类似

Java Socket总结

2、Socket通信实现步骤

  • 创建ServerSocket和Socket;
  • 打开连接到Socket的输入/输出流;
  • 按照协议对Socket进行读写操作;
  • 关闭输入输出流,关闭Socket。

具体的实现:

服务端
Java Socket总结
Java Socket总结

客户端

Java Socket总结
Java Socket总结

3、多线程实现多客户端的通信

  • 服务器端创建ServerSocket,循环调用accept()等待客户端连接
  • 客户端创建一个Socket并请求和服务器端连接
  • 服务器端接受客户端请求,创建Socket与该客户端建立专线连接
  • 建立连接的两个Socket在一个单独的线程上对话
  • 服务器端继续等待新的连接

具体实现:

ServerThread类:

Java Socket总结
Java Socket总结
Java Socket总结

Server类:

Java Socket总结

Client类:与服务器客户端一对一的一样。


三、基于UDP协议的网络通信

代码实现:

Server类:

Java Socket总结

Client类

Java Socket总结

相关文章: