帮忙看个面试题

请解释函数socket(),bind(),listen(),connect(),accept()... 请解释函数 socket(),bind(),listen(),connect(),accept() 展开
 我来答
fenghuaster
2011-11-13 · TA获得超过425个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:253万
展开全部
socket(),
创建一个用来通信的socket,函数创建成功返回成功的socket值,失败返回-1.
该函数服务端和客户端都需要调用。
bind(),
将一个socket与一个计算机IP/端口绑定。绑定后,该端口可以监听到这个socket的信息。
函数调用成功返回0,失败返回-1.
该函数服务端需要调用
listen(),
监听一个socket端口,看是否有客户端连接的请求,
函数成功返回0,失败返回-1
该函数服务端需要调用
connect(),
客户端连接函数,连接成功服务端后,才可以与服务端通信。
函数成功返回0,失败返回-1.
该函数客户端需要调用。
accept()
接受到客户端的请求,返回一个新的socket,返回新的socket用来发送和接受数据,而原来的socket可以继续监听连接请求。
函数调用成功返回一个新的socket值,失败返回-1.
该函数服务端需要调用
所以:
服务端调用API的顺序是:
socket()A创建一个socketA
bind () A将socketA与server的IP,端口绑定
listen() A,监听socketA上是否有客户端连接的请求
accept(A)返回socket B,如果A上接受到一个客户端的请求,会得到一个用来与这个客户端接受发送数据的socketB
客户端调用API的顺序是:
socket A,建立一个通信用的socketA
connect A,用A连接一个服务端
如果客户端与服务端连接成功,双方可以用recv()来接受数据,用sendto()发送数据。

如果对你有帮助,请给分哦,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式