socket 编程中。 服务端用到多线程

Posted lijins

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

以上是关于socket 编程中。 服务端用到多线程的主要内容,如果未能解决你的问题,请参考以下文章

socket编程,简单多线程服务端测试程序

Linux-TCP编程流程-Socket编程-单线程实现TCP客户端和服务端交互-多进程实现TCP客户端和服务端交互

服务端Socket多线程通信

Socket 多线程编程

python多线程socket编程--多客户端接入

多线程编程以及socket编程_Linux程序设计4chapter15