tcp服务器搭建过程
A. TCP 的 Client/Server结构的连接建立过程 (附带源码)
传输层和应用层之间的数据交换称为报文,而传输层与网络层交换的数据称为数据报。传输层通过TCP协议封装数据,TCP协议面向连接,提供字节流传送服务,是可靠的。
在面向连接的Client/Server结构中,服务器启动时创建套接口并绑定本地网络地址,然后进入侦听状态,准备接收连接请求。客户机建立套接口后,通过connect()函数与服务器建立连接。连接建立后,双方即可通过read()和write()函数进行数据交换。数据传送结束后,通过close()关闭套接口。
套接字(socket)是通信的基础,是TCP/IP协议网络通信的基本操作单元。它包含协议、本地和远程主机的IP地址及端口信息。应用层通过socket接口与传输层通信,实现并发服务。
Socket连接包括三个步骤:服务器监听,客户端请求,服务器响应并建立连接。服务器始终处于监听状态,等待客户端连接请求。客户端需指定服务器套接字的地址和端口号,发起连接请求。服务器接收请求,创建新线程回应客户端,并将服务器套接字描述发送给客户端。客户端确认描述后,正式建立连接。服务器套接字继续监听,接受其他客户端连接请求。
示例代码展示了如何编译和运行服务器与客户端程序。TCPClient.c和TCPServer.c文件分别实现客户端和服务器功能。通过命令行编译并执行程序。
TCPServer.c代码展示了服务器端实现,包括创建套接口、绑定地址、监听连接请求、接收客户端连接并处理数据交换的过程。TCPClietn.c代码展示了客户端实现,包括连接服务器、发送与接收数据的功能。
对于Python程序,通过创建套接口和监听连接,实现服务器与客户端之间的消息交换。服务器端代码接收连接请求,接收用户名称,并将用户加入字典。用户输入信息后,服务器广播给所有在线用户。客户端通过连接服务器并发送信息与服务器进行通信。
