码迷,mamicode.com
首页 > 编程语言 > 详细

1.2socket服务器使用多线程

时间:2017-09-23 17:25:03      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:threading   data   解码   说明   erp   nbsp   发送数据   服务   imp   

socket服务器代码如下

from socket import *
import time
import threading,_thread as thread

myHost = ‘‘                                                                #‘‘说明所有IP都可以连接
myPort = 50007                                                             #设置一个端口

socketobj = socket(AF_INET,SOCK_STREAM)                                    #创建TCP对象
socketobj.bind((myHost,myPort))                                            #绑定端口
socketobj.listen(5)                                                        #允许5个请求连接

def now():
    return time.ctime(time.time())

def handleClient(connection):
    #time.sleep(5)
    while True:
        data = connection.recv(1024)                                       #每次读取最多1024字节
        if not data: break
        reply = Echo=> %s at %s % (data,now())                           #发送数据给客户端
        connection.send(reply.encode())
    connection.close()


def dispatcher():
    while True:
        connection,address = socketobj.accept()                             #接受数据并打印
        print(Server connected by,,address,end=‘‘)
        print(at,now())
        #thread.start_new_thread(handleClient,(connection,))                #使用多线程
        thread = threading.Thread(target=handleClient,args=(connection,))   #使用多线程
        thread.start()                                                      #开始线程

dispatcher()

socket客户端代码如下

from socket import *

serverHost = localhost
serverPort = 50007

while True:
    messages = [input(输入).encode()]             #输入信息,并设置编码, 可设置b‘‘或者str.encode()

    socketobj = socket(AF_INET, SOCK_STREAM)        # 创建TCP对象
    socketobj.connect((serverHost, serverPort))     # 连接端口

    for line in messages:
        socketobj.send(line)
        data = socketobj.recv(1024)                 # 从服务器接受信息
        print(Client received:, data.decode())    #打印信息,解码打印,str.decode()

    socketobj.close()

 

1.2socket服务器使用多线程

标签:threading   data   解码   说明   erp   nbsp   发送数据   服务   imp   

原文地址:http://www.cnblogs.com/fg2312/p/7581588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!