- 论坛徽章:
- 0
|
本帖最后由 yue306 于 2017-06-12 23:52 编辑
程序分为svr端和客户端。先贴代码:server端 (server.py):
- #!/usr/bin/python
- import sys
- import socket
- s=socket.socket()
- bindinfo=("0.0.0.0",24000)
- s.bind(bindinfo)
- s.listen(100)
- while 1:
- conn,temp=s.accept()
- while 1:
- my_temp=conn.recv(1024)
- print my_temp
复制代码 客户端(client.py)
- #!/usr/bin/python
- import socket
- import sys
- import time
- s=socket.socket()
- connectinfo=("192.168.1.180",24000)
- s.connect(connectinfo)
- i=0
- while 1:
- msg="test message %s"%(i)
- print msg
- s.send(msg)
- i=i+1
- #time.sleep(1)
复制代码
执行的过程中,应该每次从客户端获取到数据后直接打屏,并且每接收一次请求,就打印内容并换行(print自带换行),但是,把客户单的sleep取消之后,发现svr端时不时的会出现不换行,如下:
test message 84985
test message 84986
test message 84987
test message 84988
test message 84989
test message 84990
test message 84991test message 84992test message 84993test message 84994test message 84995test message 84996test message 84997test message 84998test message 84999test message 85000test message 85001test message 85002test message 85003test message 85004test message 85005test message 85006test message 85007test message 85008test message 85009
test message 85010test message 85011test message 85012test message 85013
test message 85014test message 85015test message 85016
test message 85017test message 85018
test message 85019test message 85020
test message 85021test message 85022
test message 85023test message 85024
test message 85025test message 85026
test message 85027test message 85028
test message 85029test message 85030
开始怀疑时不时也有标准输出缓冲区,于是执行svr端的程序加上-u,以及每次flush stdout,结果还是不行。
求大牛们指教,这是什么原因?
|
|