Python 和 C 实现基于 TCP 的 Server 和 Client 交互
以下是基于 TCP 的 server 和 client 交互的四个文件的示例代码:
server.py:
import socket
# 创建TCP/IP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_address = ('localhost', 12345)
server_socket.bind(server_address)
# 监听客户端连接
server_socket.listen(1)
while True:
print('等待客户端连接...')
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)
try:
while True:
data = client_socket.recv(1024).decode()
if data.endswith('eof'):
data = data[:-3]
print('客户端输入内容:', data)
break
else:
print('客户端输入内容:', data)
finally:
# 关闭客户端连接
client_socket.close()
client.py:
import socket
# 创建TCP/IP socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
server_address = ('localhost', 12345)
client_socket.connect(server_address)
try:
while True:
message = input('请输入内容:') + 'eof'
client_socket.sendall(message.encode())
if message.endswith('eof'):
break
finally:
# 关闭客户端连接
client_socket.close()
编译并运行 server.py 和 client.py 文件后,在 client.py 中输入内容,server.py 会打印出客户端输入的内容。当输入内容以 'eof' 结尾时,表示输入结束,server.py 会停止打印并等待下一个客户端连接。
注意:在运行 server.py 之前,需要先运行 client.py 与服务器建立连接。
原文地址: https://www.cveoy.top/t/topic/o2eH 著作权归作者所有。请勿转载和采集!