Python TCP Server And Client

'''
Python socket TCP多线程服务器 by 郑瑞国
1、建立网络套接字s
2、绑定地址
3、监听
4、接受客户端连接
5、多线程处理客户端消息
'''
import socket
import threading
 
def server_handle(client,addr):
    '''处理客户端消息'''
    while True:
        try:
            text = client.recv(1024)
            if not text:
                client.close()
            client.send(text)
            print(addr[0],addr[1],'>>',text.decode())
        except:
            print(addr[0],addr[1],'>>say goodby')
            break
        
def tcp_server():
    '''TCP多线程服务器'''
    s = socket.socket()                                          #1、建立网络套接字s
    s.bind(('0.0.0.0',9999))                                     #2、绑定地址
    s.listen(5)                                                  #3、监听
    print("TCP server starting on " +socket.gethostbyname(socket.gethostname())+":9999......")    
    while True:
        client,addr=s.accept()                                   #4、接受客户端连接
        threading._start_new_thread(server_handle,(client,addr)) #5、多线程处理客户端消息


'''
Python TCP 客户端(配合socket多线程服务器) by 郑瑞国
1、建立网络套接字c
2、建立网络连接
3、收发信息
'''
def tcp_client(ip):
    '''TCP 客户端'''
    c = socket.socket()              #1、建立网络套接字c
    c.connect((ip,9999))             #2、建立网络连接
    while True:                      #3、收发信息
        text = input('send:')
        if not text:
            continue
        c.send(text.encode())
        re = c.recv(1024).decode()
        print(re)
if __name__ == '__main__':
    tcp_server()
    #ip = input('input server ip:')
    #tcp_client(ip)

猜你喜欢

转载自blog.csdn.net/zheng_ruiguo/article/details/84875102