TCP的client和server的简单连接
server:
import socket as s import threading as t bind_ip = "0.0.0.0" bind_port = 80
#配置服务器监听的IP地址和端口号,这里为缺省配置,默认接收来自所有的ip发送到80端口的信息
server = s.socket(s.AF_INET,s.SOCK_STREAM)
#确定套接字的连接类型和连接依据的类型
server.bind((bind_ip,bind_port)) #确定服务的监听的端口和ip并开始启动监听
server.listen(5)
#配置服务的最大连接数量
print ("[*]Listening on %s:%d" % (bind_ip,bind_port))
#该函数为处理客户端的线程
def handle_client(client_socket):
request = client_socket.recv(1024)
#将recv()函数之后的信息发送到客户端
print "[*]Receoved:%s"% request
client_socket.send("ACK+1")
#返还ACK+1的内容到client
client_socket.close()
while True:
client , addr = server.accept()
#将接收到的客户端套接字对象保存到client变量里,将远程的细节保存到addr中
print ("[*] Accepted connection from:%s:%d" % (addr[0],addr[1]))
client_handler = t.Thread(target=handle_client,args = (client,))
#以client_handle函数为回调函数创建一个新的线程对象,将客户端套接字作为一个句柄传递给它
client_handler.start
#启动client_handler
client:
import socket as s target_host = "192.168.66.6" target_port = 80
client = s.socket(s.AF_INET,s.SOCK_STREAM) #建立一个socket对象
client.connect((target_host,target_port)) #连接server
client.send("Bydream") #发送一些数据(Bydream)
response = client.recv(80)
#接收一些数据
server和client的测试验证
学习之旅