socket,一种通用的网络编程接口,它是一个特殊的文件描述符。
有三种类型:
接流式套接字(SOCK_STREAM):提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。
数据报套接字(SOCK_DGRAM):提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。
原始套接字(SOCK_RAW):可以对较低层次协议如IP、ICMP直接访问。
利用套接字创建客户端与服务器端
1.客户端步骤:
1>.创建套接字
2>.设置对方IP和端口号
3>.请求连接服务器
4>.发送/接受消息
5>.关闭套接字
客户端代码如下:
注:IP地址为所使用虚拟机的地址,下同
2.服务器端步骤:
1>.创建socket对象
2>.绑定IP与端口号
3>.监听
4>.接受
5>.收/发数据
6>.关闭套接字对象.
服务器端代码如下: