socket编程之多客服端(简易版)

服务端:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socket
import sys
sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.bind(('127.0.0.1',8080))
sk.listen(5)

while True:
    print("开始接受请求!")
    conn,addr=sk.accept()
    while True:
        try:
            msg=conn.recv(1024).decode()
            if msg == "exit":
               sys.exit("进程通讯结束!")
            conn.sendall("服务器端已收到消息!".encode())
            print("来自%s向你发送了:%s" %(addr,msg))
        except Exception:
            break
    conn.close()

客户端1:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socket
sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.connect(('127.0.0.1',8080))
while True:
    inp=input("请输入要发送给服务端的消息:")
    if not inp:
        continue
    if inp == "exit":
        break
    sk.sendall(inp.encode())
    print("数据已发送成功等待返回数据")
    msg=sk.recv(1024).decode()
    print(msg)

sk.close()

客户端2:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socket
sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.connect(('127.0.0.1',8080))
while True:
    inp=input("请输入要发送给服务端的消息:")
    if not inp:
        continue
    if inp == "exit":
        break
    sk.sendall(inp.encode())
    print("数据已发送成功等待返回数据")
    msg=sk.recv(1024).decode()
    print(msg)

sk.close()

猜你喜欢

转载自blog.51cto.com/2032872/2307715
今日推荐