zoukankan      html  css  js  c++  java
  • Python3-TCP服务器代码

    TCP Client

    import socket
    
    target_host = "192.168.1.104"
    target_port = 9999
    
    #创建一个socket对象
    client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    #连接服务器
    client.connect((target_host,target_port))
    
    #发送一些数据
    say = "I am a client"
    client.send(bytes(say,encoding='gbk'))
    
    #接收一些数据
    response = client.recv(4096)
    
    print(response)

    TCP Server 

    import socket
    import threading
    
    #客户处理线程
    def handle_client(client_socket):
        #打印客户端发送得到内容
        request = client_socket.recv(1024)
    
        print ("[*] Received: %s" % request)
    
        #返还一个数据包
        '''
        在Python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。
        '''
        say = "I am a server!!!"
        client_socket.send(bytes(say, encoding='gbk'))
    
        client_socket.close()
    
    def main():
        bind_ip = "192.168.1.104"
        bind_port = 9999
    
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server.bind((bind_ip, bind_port))
        server.listen(5)
    
        print("[*] Listening on %s:%d" % (bind_ip, bind_port))
    
        while True:
            client, addr = server.accept()
    
            # 挂起客户端线程,处理传入的数据
            client_handler = threading.Thread(target=handle_client, args=(client,))
            client_handler.start()
    
    
    if __name__ == "__main__":
        main()
  • 相关阅读:
    汇总国内开源站点镜像网站-20210813更新
    谈谈技术人的技术家园
    庖丁解码
    好的软件(软件工程)
    LeetCode 914卡盘分组
    《黑客与画家》读书笔记
    30岁的我给现在26岁的自己的想说的一些话
    毕业一年半,发现自己还是一个CURD boy
    LeetCode 120 Triangle
    疫情相关项目复盘
  • 原文地址:https://www.cnblogs.com/aaron456-rgv/p/13094128.html
Copyright © 2011-2022 走看看