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