">

">


题图给出了基于UDP客户与服务器的典型Socket API函数调用过程,写出图中序号(1)~(5)处需要调用的Socket API函数。




【正确答案】:

(1)BIND(UMS)
(2)SENDTO(UCS)
(3)RECVFROM(UMS)
(4)RECVFROM(UCS)
(5)SENDTO(UMS)


【题目解析】:

int socket() 创建套接字
int close() 关闭套接字
int bind() 绑定套接字的本地端点地址(一般用于服务器端)

Ssize_t sendto() 发送数据(只用于UDP)
Ssize_t recvfrom() 接收数据(只用于UDP)

UDP实现可靠数据传输。应用程序或者容许UDP的不可靠数据传输特点,或者应用程序在应用层自己解决可靠性问题。

(1)服务器程序运行后,调用socket()函数创建SOCK_DGRAM类型的套接字ums;调用 bind()函数绑定本地端点地址。

(2)客户程序运行后,创建本地SOCK_DGRAM类型的套接字ucs。接下去,客户程序与服务器程序通过调用sendto()和recvfrom()函数,实现数据发送与接收。

(3)通信结束后,客户程序通过调用close()函数,释放套接服务ums服务器程序继续调用 recvfrom()函数,通过套接字接收下一个客户发送过来的数据报。通常情况下,服务器程序不会关闭套接字ums。


Top