繁体   English   中英

如何不断更改从服务器发送到客户端的消息?

[英]How can I constantly change the message being sent from the server to the client?

我正在为我和我的朋友开发一个小消息应用程序,但我的客户只收到一个 object,这里有点难以解释......

服务器:

#server
import socket

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 5034))
s.listen(5)
while True:
    clt,adr=s.accept()
    clt.send(bytes("hello", "utf-8"))

客户:

#client
import socket

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.56.1", 5034))
msg=s.recv(1024)
print(msg.decode())

现在我怎样才能做到这一点,以便我可以不断更改正在发送的消息?

这是一个例子。 该服务器侦听您的套接字,并产生一个线程来处理每个新连接。 这样,它可以重新accept以侦听更多连接。 然后,处理程序每秒只喷一次时间。

import socket
import threading
import time

def handle(sock):
    while True:
        sock.send( time.ctime().encode('utf-8') )
        time.sleep(1)

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("localhost", 5034))
s.listen(5)
while True:
    clt,adr=s.accept()
    t = threading.Thread( target=handle, args=(clt,), daemon=1 )
    t.start()

这个客户永远听着那美妙的音乐:

import socket

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("localhost", 5034))
while True:
    msg=s.recv(1024)
    print(msg.decode())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM