1. 程式人生 > >socket 程式設計中。 服務端用到多執行緒

socket 程式設計中。 服務端用到多執行緒

客戶端連線服務端之後, 服務端會生成與客戶端交換資訊的socket。

在服務端實現多執行緒: 為每個連線建立一個執行緒進行資訊交換。

 

import threading
from socket import *
from time import ctime

HOST='127.0.0.1'
PORT = 1111
BUFSIZE= 1024
ADDR = (HOST,PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(4)


class MyThread(threading.Thread):

    def __init__(self, tcp_client):
        threading.Thread.__init__(self)
        self.clientSocket 
= tcp_client def run(self): while True: data = self.clientSocket.recv(1024) print data if not data: break self.clientSocket.send('[%s] %s' % (ctime(), data)) if data == None: tcpCliSock.close()
while True: print 'waiting for connection...' tcpCliSock, addr = tcpSerSock.accept() print '...connection from:', addr MyThread(tcpCliSock).start() tcpSerSock.close()