gpt4 book ai didi

Python简单服务器和客户端脚本(Socket编程)

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:10 25 4
gpt4 key购买 nike

我的目标是每次客户端向服务器发送数据时,服务器都会显示它。但是目前当客户端发送数据时,服务器仅在第一次捕获数据并显示它。是什么导致了这个问题?顺便说一句,这是我第一次做网络编程,所以请保持你的回答简单。

服务器脚本

import socket

server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket.bine(("",5001))
server_socket.listen(5)

print "TCP Server Waiting for incoming client connection on port 5001..."

while True:
client_socket, address =server_socket.accept()
print "Connection from ", address
data = client_socket.recv(512)
print "RECIEVED:" , data

客户端脚本

import socket

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('169.254.0.1', 5001))
data=''
while data!='quit':
data = raw_input ( "SEND :" )
client_socket.send(data)

最佳答案

您的服务器代码只接收一次,然后接受另一个客户端。您应该循环直到客户端断开连接。 (断开连接时,recv() 返回空字符串)

while True:
client_socket, address = server_socket.accept()
print "Connection from ", address
while 1:
data = client_socket.recv(512)
if not data:
break
print "RECIEVED:" , data

顺便说一句,您的服务器代码(和我的代码)一次只能处理一个客户端。

关于Python简单服务器和客户端脚本(Socket编程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18353567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com