Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TCP服务器只接收多条消息中的一条消息_Python_Sockets_Tcp - Fatal编程技术网

Python TCP服务器只接收多条消息中的一条消息

Python TCP服务器只接收多条消息中的一条消息,python,sockets,tcp,Python,Sockets,Tcp,我有一个简单的代码,它向用户请求多个输入并将其发送到服务器,但服务器只接收第一条消息。如何使服务器获取其余消息 客户: import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127.0.0.1',8000)) for i in range(1,3): message = input("Enter your message:") s.send(message

我有一个简单的代码,它向用户请求多个输入并将其发送到服务器,但服务器只接收第一条消息。如何使服务器获取其余消息

客户:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1',8000))
for i in range(1,3):
    message = input("Enter your message:")
    s.send(message.encode())
s.close()
服务器:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 8000))
s.listen(1)
print('ready')
while True:
    c,addr = s.accept()
    sentence = c.recv(1024)
    print(sentence.decode())

c.close()

我认为问题出在server.py第7行。它等待接受连接,因此不等待接收数据

对于
server.py

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 8000))
s.listen(1)
print('ready')
c,addr = s.accept()
while True:
    sentence = c.recv(1024)
    if sentence:
        print(sentence.decode())

c.close()
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1',8000))
for i in range(1,3):
    message = input("Enter your message:")
    s.send(message.encode())
s.close()
对于
client.py

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 8000))
s.listen(1)
print('ready')
c,addr = s.accept()
while True:
    sentence = c.recv(1024)
    if sentence:
        print(sentence.decode())

c.close()
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1',8000))
for i in range(1,3):
    message = input("Enter your message:")
    s.send(message.encode())
s.close()

它解决了问题,谢谢。