248

问答题 248 /290

请你来说一下socket编程中服务器端和客户端主要用到哪些函数

参考答案

参考回答:

1)基于TCP的socket:

1、服务器端程序:

1创建一个socket,用函数socket()

2绑定IP地址、端口等信息到socket上,用函数bind()

3设置允许的最大连接数,用函数listen()

4接收客户端上来的连接,用函数accept()

5收发数据,用函数send()和recv(),或者read()和write()

6关闭网络连接

2、客户端程序:

1创建一个socket,用函数socket()

2设置要连接的对方的IP地址和端口等属性

3连接服务器,用函数connect()

4收发数据,用函数send()和recv(),或read()和write()

5关闭网络连接

2)基于UDP的socket:

1、服务器端流程

1建立套接字文件描述符,使用函数socket(),生成套接字文件描述符。

2设置服务器地址和侦听端口,初始化要绑定的网络地址结构。

3绑定侦听端口,使用bind()函数,将套接字文件描述符和一个地址类型变量进行绑定。

4接收客户端的数据,使用recvfrom()函数接收客户端的网络数据。

5向客户端发送数据,使用sendto()函数向服务器主机发送数据。

6关闭套接字,使用close()函数释放资源。UDP协议的客户端流程

2、客户端流程

1建立套接字文件描述符,socket()。

2设置服务器地址和端口,struct sockaddr。

3向服务器发送数据,sendto()。

4接收服务器的数据,recvfrom()。

5关闭套接字,close()。