【发布时间】:2015-08-04 22:58:02
【问题描述】:
我是编程和这个网站的新手,所以我希望我能澄清我想要做什么。如果我发送字符串退出,我有一个试图打破的循环。它似乎只是继续前进。请帮忙!
import socket
Home = '10.0.0.5' #ipaddr
Port = 10000 #port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((Home, Port))
s.send('Hey it works!')
while True:
data = s.recv(1024)
print data
if data == 'quit':
break
我可以很好地发送和接收消息,但是当我发送退出或“退出”时,它只会继续。我究竟做错了什么?
谢谢!
【问题讨论】:
-
@heinst 为什么?这没有任何意义——
break将退出while循环并以状态 0 退出(应该如此) -
我建议您使用
print repr(data)并在发送'quit'时查看发送的内容 -
data不是你想的那样。 -
@DavidHoelzer 绝对不是骗子。
-
@Carson 听起来您的服务器正在发回您在消息后点击
Enter的换行符。试着做data = s.recv(1024).strip()
标签: python sockets python-2.7 while-loop