2011-03-14 86 views
0

我试图让一些基本的网络去python。下面是不实际的通信程序的片段:套接字程序挂起

客户端

# open socket and connect to port 
      sock = socket(AF_INET, SOCK_STREAM) 
      sock.connect((regHost, regPort)) 

      # prepare flos for data 
      outFlo = sock.makefile(mode='w') 
      inFlo = sock.makefile(mode='r') 

      outFlo.write(queryString) 
      outFlo.flush() 
      print "finished writing" 

      tmp = inFlo.readline() 
      print tmp 

      outFlo.close() 
      inFlo.close() 
      sock.close() 

服务器端

 print 'Spawned thread' 
     inFlo = self.sock.makefile(mode='r') 
     outFlo = self.sock.makefile(mode='w') 

     outFlo.write('test writing\n') 
     outFlo.flush() 

     inFlo.close() 
     outFlo.close() 
     self.sock.close() 
     print 'Closed socket' 
     print 'Exiting thread' 

程序似乎是挂在调用inFlo。 readline()在客户端。任何帮助将非常感激。

回答

1

错误在于我忘记在其中一个字符串的末尾添加\ n。因此,该程序挂在了对inFlo.readline()的调用中。