【Java高级】5.网络编程
网络应用程序:在已实现了网络互联的不同计算机上运行的程序,这些程序之间可以交换数据
TCP/IP参考模型:应用层、传输层、网络层、数据链路层、物理层 4或5层
OSI参考模型:Open System Interconnection开放系统互联
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
socket编程:网络编程,通过使用套接字来达到进程间通信目的的编程
TCP协议:Transmission Control Protocol传输控制协议
面向连接的通信协议
提供两台计算机间的可靠的、端到端的字节流通信的协议
UDP协议:User Datagram Protocal用户数据报协议
无连接的通信协议
UDP不保证可靠数据的传输
TCP/IP协议:网络中计算机之间的通信规则,大多数网络协议都以TCP/IP协议为基础
IP地址:每台计算机指定的一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送数据的计算机
IPV4:4个字节,32位的二进制数表示
IPV6:16个字节来表示IP地址
端口号:一个整数,用来表示该把数据帧交给哪个应用程序处理,端口数范围0~65535
同一台计算机不能有两个使用同一个端口的程序运行
0~1023用于一些知名的网络服务和应用,用户的普通网络程序应使用1024以上的端口号
Socket原理:套接字,是网络应用程序编程的接口和一种机制
用套接字中的相关函数来建立连接和完成通信
Socket可以看成在两个程序间进行通讯连接中的一个端点
将区分不同应用程序进程的三个参数:通信目的的IP地址
使用的传输层协议
使用的端口号
与一个Socket绑定
UDP套接字:不可靠
TCP套接字:较可靠的双向流协议
发送任意数量的数据
提供消息确认、错误检测和错误恢复等服务
基于TCP的Socket编程:利用TCP协议通信的两个应用程序,有主从之分,为服务器程序(Server)和客户机程序(Client)
交互过程:服务器程序创建一个ServerSocket,然后调用accept方法等待客户连接
accept()方法用于等待客户端触发通信,返回值类型为Socket
客户端创建一个socket,并请求与服务器连接
建立了连接的两个Socket在一个单独的线程上对话
服务器开始等待新的连接请求
基于多线程的Socket编程:使一个服务器可以对应多个客户机程序

浙公网安备 33010602011771号