网络编程
位置:首页>> 网络编程>> Python编程>> python Socket之客户端和服务端握手详解

python Socket之客户端和服务端握手详解

作者:水桶前辈  发布时间:2021-11-29 18:48:21 

标签:python,Socket,客户端,服务端,握手

简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据

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']:
# 发送数据:
s.send(data)
print(s.recv(1024).decode('utf-8'))
s.send(b'exit')
s.close()

2. 服务端serverSocket.py代码


import socket
import threading
import time
# from threading import Thread

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听端口:
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:
# 接受一个新连接:
sock, addr = s.accept()
# 创建新线程来处理TCP连接:
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()

3.操作过程

开两个控制台窗口,先运行服务端 python3 serverSocket.py

然后运行客户端 python3 socketClient.py

socket连接截图如下

python Socket之客户端和服务端握手详解

来源:http://blog.csdn.net/robinson_911/article/details/73143760

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com