首页 > 编程语言 > 详细

多线程并发简单版

时间:2018-06-19 10:13:26      阅读:212      评论:0      收藏:0      [点我收藏+]

server-------------------

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018/6/19 9:33
# @File    : server1.py


from socket import *
from threading import Thread


def communicate(conn):
    while True:
        try:
            data = conn.recv(1024)
            if not data:break
            conn.send(data.upper())
        except ConnectionResetError:
            break
    conn.close()


def server(ip, port):
    server = socket(AF_INET, SOCK_STREAM)
    server.bind((ip, port))
    server.listen(5)

    while True:
        conn, addr = server.accept()  # 建立连接
        t = Thread(target=communicate, args=(conn, ))
        t.start()

    server.close()


if __name__ == ‘__main__‘:
    server(‘127.0.0.1‘, 8080)


client--------------------
# 可以右键启动多个
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018/6/19 9:33
# @File    : client1.py
# 右键运行一次就是一个进程

from socket import *
client = socket(AF_INET, SOCK_STREAM)
client.connect((‘127.0.0.1‘, 8080))

while True:
    msg = input(‘>>>:‘).strip()
    if not msg:continue
    client.send(msg.encode(‘utf-8‘))
    data = client.recv(1024)
    print(data.decode(‘utf-8‘))

client.close()


   

多线程并发简单版

原文:https://www.cnblogs.com/fmgao-technology/p/9197241.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!