代码贴上,做个记录
TcpClient
# -*- coding:utf-8 -*- import socket target_host = "127.0.0.1" #服务器端地址 target_port = 5555 #与服务器的端口号一致 while True: client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) client.connect((target_host,target_port)) #data存储要发送的数据 data = raw_input("请输入要发送的数据:") #input对于接受输入是有问题的 raw_input()把所有输入都看做字符串 if not data: break client.send(data) response = client.recv(1024) print(response) client.close()
TcpServer
# -*- coding:utf-8 -*- import socket import threading bind_ip = "0.0.0.0" #监听所有可用的接口 bind_port = 5555 #非特权端口号都可以使用 #AF_INET:使用标准的IPv4地址或主机名,SOCK_STREAM:说明这是一个TCP服务器 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #服务器监听的ip和端口号 server.bind((bind_ip,bind_port)) print("[*] Listening on %s:%d" % (bind_ip,bind_port)) #最大连接数 server.listen(5) #客户处理线程 def handle_client(client_socket): request = client_socket.recv(1024) print("[*] Received: %s" % request) #向客户端返回数据 client_socket.send("滴,打卡成功!") client_socket.close() while True: #等待客户连接,连接成功后,将socket对象保存到client,将细节数据等保存到addr client,addr = server.accept() print("[*] Acception connection from %s:%d" % (addr[0],addr[1])) client_handler = threading.Thread(target=handle_client,args=(client,)) client_handler.start()
客户端发送
服务端接收数据