socket之小结

来源:互联网 发布:unity3d 点击选中物体 编辑:程序博客网 时间:2024/06/07 04:00

socket 套接字常见的有3种类型:

1:SOCK_STREAM。流式套接字,用于TCP连接,提供面向连接。可靠的数据传输服务。数据无差错。无重复的发送。且按发送顺序接收

2:SOCK_DGRAM。数据报式套接字。用于UDP连接。提供无连接服务。数据包以独立包形式发送。不提供无错保证。数据可能丢失或重复。并且接收顺序混乱

3:SOCK_RAM.原始套接字

 

基于TCP(面向连接)的socket编程:

服务端:

1:创建套接字:socket

2:将套接字绑定到一个本地地址和端口上:bind

3:将套接字设置为监听模式,准备接收客户请求:listen

4:等待客户请求到来:当请求到来后,接受连接请求,返回一个新的对应于此连接的套接字:accept

5:用返回的套接字和客户端进行通信:send/recv

6:返回,等待另一个客户请求

7:关闭套接字 :closeSocket

 

客户端:

1:创建套接字:socket

2:向服务器发出连接请求:connect

3:和服务器端进行通信:send/recv

4:关闭套接字:closeSocket

 

 

基于UDP(面向无连接)的socket编程:

服务器端:

1:创建套接字:socket

2:将套接字绑定到一个本地地址和端口上:bind

3:等待接收数据:recvfrom

4:关闭套接字:closeSocket

 

客户端:

1:创建套接字:socket

2:向服务器发送数据:sendto

3:关闭套接字:closeSocket

 

 

htonl:将IP地址转换为U_Long类型

htons:转换为U_Short类型。一般用在端口号

inet_ntoa:将u_long类型的地址转换为点分十进制的IP形式