当我在cmd中运行python文件时,它没有在cmd中显示代码打印,但是当我在空闲状态中运行相同的代码时,一切正常,并且在外壳中看到了打印内容
代码:
import socket
import select
server_socket = socket.socket()
SERVER_IP = '0.0.0.0'
PORT_NUMBER = 9056
server_socket.bind((SERVER_IP, PORT_NUMBER))
server_socket.listen(5)
print("Server is up and running" + "\n" + "The server IP is " + SERVER_IP +
"\n" + "The port number is " + str(PORT_NUMBER))
open_client_sockets =[]
messages_to_send =[]
def send_waiting_messages(wlist):
for message in messages_to_send:
(client_socket, data) = message
if client_socket in wlist:
client_socket.send(data.encode())
messages_to_send.remove(message)
while True:
rlist, wlist, xlist = select.select([server_socket] + open_client_sockets,open_client_sockets, [])
for current_socket in rlist:
if current_socket is server_socket:
(new_socket, address) = server_socket.accept()
open_client_sockets.append(new_socket)
else:
data = current_socket.recv(1024).decode()
if data == "":
open_client_sockets.remove(current_socket)
print("Connection with client closed.")
else:
messages_to_send.append((current_socket, "Hello, " + data))
send_waiting_messages(wlist)