gpt4 book ai didi

Python 套接字服务器和管道

转载 作者:太空狗 更新时间:2023-10-29 12:23:08 24 4
gpt4 key购买 nike

我有三个文件。 client.py、server.py 和 test.py。 client.py 如下:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 6088))
while True:
a = raw_input()
s.send(a)
s.close()

服务器.py:

import socket
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1',6088))
s.listen(1)
print("Waitting for connection.....")
while True:
socket,addr = s.accept()
while True:
data = socket.recv(1024)
if data:
print(data)
s.close()

测试.py:

while True:
a = raw_input()
print("welcom "+ a)

我使用server.pytest.py 启动服务器,然后我使用client.py 启动客户端,但是当我在客户端输入内容时,服务器没有显示任何内容。为什么?以及如何修复它。

最佳答案

默认情况下,出于性能原因,Python 的输出会被缓冲,除非 stdout 进入终端。这意味着 print 的任何输出都不会立即发送到管道,而是首先在 Python 进程中进行缓冲,并且只有在缓冲区中积累了足够的数据时才会发送。要关闭此功能并立即将任何输出发送到管道,请使用 python -u or similar .
请注意,此行为并非 Python 独有。其他命令(如 perl)显示出类似的行为。

关于Python 套接字服务器和管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51276461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com