搞惯了as,学起来python,还是有一点障碍的,就比如as里执行了while(true)那肯定是死循环,而python的socket建立却恰恰是这样写滴:

server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(addr)
server.listen(
999)

while True:
clientSock,addrs
= server.accept()

print "client ip:" + str(addrs[0])
print "client port:" + str(addrs[1])

  让我这个aser纳闷了许久,python为啥要不停的执行循环体?今天搞了个小实验,突然顿悟了。原来while True在socket连接中并不是在不停的循环,而是第一次执行后,socket.accept()就会处于监听模式,什么时候监听到有连接了,什么时候继续往下执行下一循环体。如果没连接,就不会执行下一循环。这下终于理解了。

还有不明白的同学可以这样实验一下

while True:
print 'running'

运行后者会发下屏幕会不停的输出'running'  

还要提醒aser的是python中'isflash'+123是错误的。这就说明python在字符和数字相加时不会主动帮你进行强制类型转换,需要手动处理为'isflash'+str(123)

相关文章:

  • 2022-12-23
  • 2021-08-29
  • 2021-12-02
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
  • 2021-07-13
  • 2022-12-23
相关资源
相似解决方案