Socket API函数(2)

listen 函数
int listen(sd,queuesize);
listen函数是至服务器端的流套接字处于监听状态 仅服务器端可以调用。仅用于面向连接的流套接字
设置连接请求队列大小(queuesize),传输层客户服务请求来了放到缓存里面,对烈士先进先出的队列。返回值0是成功。

connect函数
connect(sd,saddr,saddrlen);
只用于客户端tcp:建立TCP连接,udp:不一定表示创建连接了,逻辑连接,制定一个端点地址。都可以,客户套接字(sd)与特定计算机(sadr)
accept

会创建一个新的套接字与客户通信,tcp是点对点的实现并发的服务,accept创建一个新套接字进行并发服务。
send,sendto 发送数据

recv,recvfrom 接收数据
setsockopt,getsockopt 设置选项参数

小结
WSAStartip:初始化socket动态连接库
WSACleanup:清除/终止库的使用
socket:创建套接字
connect:“连接”远端的服务器
closesocket:释放/关闭一个套接字
bind:绑定IP地址和端口号
listen:设置tcp套接字为监听模式
accept:接受或者提取一个连接器牛。创创建新套接字,仅用于服务器端的
recv:接收数据
recvfrom:用于非连接模式的udp套接字
send:发送
sendto:。。
set。。

关于网络字节顺序
打过两个系统之间进行通信时,表示层要完成一个转化。在tcp ip 定义了一种二进制整数表示网络字节顺序,如ip地址,端口号。
htons:本地字节顺序 转换成网络字节顺序(16位)
ntohs htonl ntohl

网络应用的Socket API调用的基本流程
首先在服务器端调用WSAStartup函数再创建一个服务器端的套接字,调用bind函数绑定端点地址,调用listen函数设置成监听模式,accept函数接受客户端的请求。
客户端首先也是调用WSAStartup函数在创建一个套接字,但是不需要去用bind函数,系统会自动绑定,调用connect建立连接,tcp与udp之间的区别。向accept发送链接请求,收到连接请求后创建一个新的套接字进行连接提供服务,对于客户端服务是透明的。然后send客户端发送,服务器端用recv接受请求。客户request,服务器构造response,返回响应给客户端用recv进行接收,客户端用closesocket释放掉,服务端同样,但是需要加上ns,返回accept等待下一个请求,客户端WSACleanup。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值