Mrliuxianseng

导航

 

服务端代码

#引入socketserver模块
import socketserver
#定义处理类必须继承BaseRequestHandler类
class my_server(socketserver.BaseRequestHandler):
    def handle(self):
        #获取连接
        print(self.request) #conn
        #获取地址
        print(self.client_address)#addr
        while True:
            try:
               # 收消息
                data=self.request.recv(1024)
               #可能会出现不断的收
                if  not data:break
                #self.request:连接信息 self.client_address:链接地址
                print("a client is connented", self.request, ":", self.client_address)
                print("收到客户端消息是:",data.decode("utf-8"))
                #发消息
                self.request.sendall(data)
            except Exception as e:
                print(e)
                break
if __name__=='__main__':
    print("This server is started")
    #多线程
    s=socketserver.ThreadingTCPServer(('127.0.0.1',8080)  ,my_server)
    #永远服务
    s.serve_forever()

客户端代码

from socket import *
ip_port=("127.0.0.1",8080)
buffer_size=1024
#客户端
tcp_client=socket(AF_INET,SOCK_STREAM)
#连接服务端
tcp_client.connect(ip_port)
while True:
    msg=input("===>:")
    tcp_client.send(msg.encode("utf- 8"))
    data=tcp_client.recv(buffer_size)
    print("收到的服务端消息为:",data.decode("utf-8"))
tcp_client.close

 

posted on 2018-09-06 15:41  Mrliuxianseng  阅读(121)  评论(0编辑  收藏  举报