为什么客户端不接收/打印消息?

时间:2019-09-27 15:44:27

标签: python sockets

我是python的初学者,我尝试学习有关在python中使用套接字的信息,并构建了客户端和服务器脚本来相互之间发送和打印消息,但我只能将消息从客户端发送到服务器端,并且过了几次我发送的消息尝试从服务器向客户端发送消息时出现错误,因为它仅在尝试从服务器发送消息后才打印来自客户端的消息。 为什么对我不起作用?我知道这对某些人来说可能是显而易见的,但是我没有找到能很好,简单地说明套接字的指南。

服务器端:

import socket
import select
soc = socket.socket()
soc.bind(('', 5555))
soc.listen(5)
while True:
    newsoc, addr = soc.accept()
    back = newsoc.recv(1024)
    print(back.decode())
    msg = input("server put")
    newsoc.send(msg.encode('UTF-8'))

客户端:

import socket
import select

while True:
    soc = socket.socket()
    soc.connect(('127.0.0.1', 5555))
    soc.setblocking(False)
    ready = select.select([soc], [], [], 1)
    if ready[0]:
        back = soc.recv(1024)
        print(back.decode())
    msg = input("put")
    soc.send(msg.encode('UTF-8'))
    ready2 = select.select([soc], [], [], 1)
    if ready2[0]:
        back2 = soc.recv(1024)
        print(back2.decode())
    soc.close()

0 个答案:

没有答案