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

2024-10-01 13:32:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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()

Tags: import消息客户端服务器端backmsgsocketselect