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()

 

posted @ 2020-06-11 16:36  天象独行  阅读(430)  评论(0编辑  收藏  举报