基于流式套接字的网络程序,做出一个TCP回射程序
时间: 2024-09-15 15:04:25 浏览: 9
基于流式套接字的TCP回射程序通常包括两个部分:一个服务器端和一个客户端。流式套接字提供了全双工、面向连接的通信方式,保证了数据的顺序和可靠性。TCP回射程序是指客户端发送给服务器的任何数据,服务器都会原样返回给客户端。
以下是一个简单的TCP回射服务器端和客户端的示例代码:
服务器端示例(使用Python编写):
```python
import socket
# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 设置最大连接数,超过后排队
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print("连接地址: %s" % str(addr))
# 接收小于 1024 字节的数据
msg = client_socket.recv(1024)
# 回射消息到客户端
client_socket.send(msg)
# 关闭连接
client_socket.close()
```
客户端示例(使用Python编写):
```python
import socket
# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
# 连接服务,指定主机和端口
client_socket.connect((host, port))
# 发送数据
client_socket.send('Hello, world!'.encode('utf-8'))
# 接收小于 1024 字节的数据
msg = client_socket.recv(1024)
# 关闭连接
client_socket.close()
# 打印回射消息
print(msg.decode('utf-8'))
```
在这段代码中,服务器端在本地主机上监听9999端口,等待客户端的连接请求。一旦接收到请求,它会接收客户端发送过来的数据,并立即把相同的数据发送回去,然后关闭连接。客户端连接到服务器,发送一条消息,接收服务器回射的消息,然后关闭连接。