基于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,关闭网络连接。
基于UDP的socket
1,服务器端流程
1,建立套接字文件描述符,使用函数socket()
,生成套接字文件描述符。
2,设置服务器地址和侦听端口,初始化要绑定的网络地址结构。
3,绑定侦听端口,使用bind()
函数,将套接字文件描述符和一个地址类型变量进行绑定。
4,接受客户端的数据,使用recvfrom()
函数接受客户端的网络数据。
5,向客户端发送数据,使用sendto()
函数向服务器主机发送数据。
6,关闭套接字,使用close()
函数释放资源。
2,客户端流程
1,建立套接字文件描述符,使用函数socket()
。
2,设置服务器地址和端口,使用结构体sockaddr
。
3,向服务器发送数据,sentdo()
。
4,接受服务器的数据,recvfrom()
。
5,关闭套接字,close()
。