2016-07-14 43 views
0

我正在尝试使用Socket编程.Below是我的服务器端代码,我没有在这里列出类似的客户端代码。一旦线程(在try块中)被调用,我的控制台o/p消失。不知道如何处理这个。在Windows 7的DOS下运行它。虽然我试图阅读一些现有的讨论,但发现它并不是很有用。任何帮助赞赏。 Thanks..Ravi。 代码块:Python - 线程 - 控制台o/p disapper

import socket 
import sys 
import time 
import thread 

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
server_address = ('localhost', 15000) 
sock.bind(server_address) 
sock.listen(1) 
connection, client_address = sock.accept() 
Servername = raw_input('Starting the chat(enter "QUIT" to discontinue), Please enter your name: ') 

def Server_outgoing(): 
    while True: 
     outgoing_message_server = raw_input() 
     if (outgoing_message_server == 'Quit' or outgoing_message_server == 'quit' or outgoing_message_server == 'QUIT'): 
      print "Server has decided to abort the chat - Bye bye" 
      break 
     print "######################################################################" 
     print >>sys.stderr, '"%s" : Printing outgoing message from Server "%s"' % (Servername, outgoing_message_server) 
     print "######################################################################" 
     connection.sendall(outgoing_message_server)  
try: 
    thread.start_new_thread(Server_outgoing,()) 
finally: 
    connection.close() 
+0

看起来你并不真正了解插座,螺纹*或*阻塞。我把*可能*帮助解释的东西放在一起[这里](https://draftin.com/documents/896689?token=ZT_Lt2VVDbG0UjxQpp4IJN85JrvNEBSh1ulFIcyuRl9EbbsCwRDRmqWsGNP-G3awHfbxc6tnU5oppofHGWeEA5U)。尽管如此,我并没有真正的线程例子,因为它并不是真的有必要。 –

回答

0

好guys..This工作..:

thread1 = Thread(target=Server_outgoing, args=()) 
    thread1.start() 
    thread1.join()