欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python Socket之客戶端和服務(wù)端握手詳解

 更新時(shí)間:2017年09月18日 10:47:09   作者:水桶前輩  
這篇文章主要為大家詳細(xì)介紹了python Socket之客戶端和服務(wù)端握手,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

簡單的學(xué)習(xí)下利用socket來建立客戶端和服務(wù)端之間的連接并且發(fā)送數(shù)據(jù)

1. 客戶端socketClient.py代碼

import socket 
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
# 建立連接: 
s.connect(('127.0.0.1', 9999)) 
# 接收歡迎消息: 
print(s.recv(1024).decode('utf-8')) 
for data in [b'Michael', b'Tracy', b'Sarah']: 
 # 發(fā)送數(shù)據(jù): 
 s.send(data) 
 print(s.recv(1024).decode('utf-8')) 
s.send(b'exit') 
s.close() 

2. 服務(wù)端serverSocket.py代碼

import socket 
import threading 
import time 
# from threading import Thread 
 
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
# 監(jiān)聽端口: 
s.bind(('127.0.0.1', 9999)) 
s.listen(5) 
print('Waiting for connection...') 
 
def tcplink(sock, addr): 
 print('Accept new connection from %s:%s...' % addr) 
 sock.send(b'Welcome!') 
 while True: 
  data = sock.recv(1024) 
  time.sleep(1) 
  if not data or data.decode('utf-8') == 'exit': 
   break 
  sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8')) 
 sock.close() 
 print('Connection from %s:%s closed.' % addr) 
 
while True: 
 # 接受一個(gè)新連接: 
 sock, addr = s.accept() 
 # 創(chuàng)建新線程來處理TCP連接: 
 t = threading.Thread(target=tcplink, args=(sock, addr)) 
 t.start() 

3.操作過程

開兩個(gè)控制臺窗口,先運(yùn)行服務(wù)端 python3 serverSocket.py

然后運(yùn)行客戶端 python3 socketClient.py

socket連接截圖如下

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論