帮忙看个面试题
请解释函数socket(),bind(),listen(),connect(),accept()...
请解释函数 socket(),bind(),listen(),connect(),accept()
展开
展开全部
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()发送数据。
如果对你有帮助,请给分哦,谢谢!
创建一个用来通信的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()发送数据。
如果对你有帮助,请给分哦,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询