Python学习—Python3 socket编程

最近对Python产生了兴趣,写了一个socket玩玩

socket 客户端

import socket

# 定义客户端
client = socket.socket()
# 定义服务端连接信息
ip_port = ("127.0.0.1", 8888)
# 客户端连接
client.connect(ip_port)
# 定义接收数据
data = client.recv(1024)
print(data.decode())
# 持续发送
while True:
    # 输入发送内容
    msg_input = input("发送:")
    # 客户端发送
    client.send(msg_input.encode())
    # 客户端接收服务端信息
    data = client.recv(1024)
    print("收到:"+data.decode())

socket 服务端

import socketserver

# 定义自己的server类
class MyServer(socketserver.BaseRequestHandler):

    # 接收到客户端连接
    def setup(self):
        print("等待客户端连接...")
        client = self.client_address
        print(client)

    # 处理客户端连接
    def handle(self):
        # 定义接收类型
        conn = self.request
        msg = "连接成功"
        # 回复客户端连接成功
        conn.send(msg.encode())
        while True:
            # 定义服务端接收类型
            data = conn.recv(1024)
            print("收到:"+data.decode())
            input_msg = input("回复:")
            # 成功接收回复客户端
            conn.send(input_msg.encode())
        # 关闭接收请求
        conn.close()

    # 完成客户端连接
    def finish(self):
        print("请求结束")

if __name__ == "__main__":
    # 定义多线程TCP服务端可以接收多个客户端
    server = socketserver.ThreadingTCPServer(("127.0.0.1", 8888), MyServer)
    server.serve_forever()

运行结果

写完之后感觉Python真是一门通俗易懂干净利落的语言啊!

猜你喜欢

转载自www.cnblogs.com/pengjf/p/10334316.html