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的测试验证

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM