python中Socket之客户端与服务端握手的实例


本文摘自php中文网,作者黄舟,侵删。

这篇文章主要为大家详细介绍了python Socket之客户端和服务端握手,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

1. 客户端socketClient.py代码


1

2

3

4

5

6

7

8

9

10

11

12

13

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代码


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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之客户端与服务端握手的实例的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python中hashlib加密模块的分析(代码实例)

女生学Python难吗

Python怎么去掉最后的空格

paramiko模块安装使用说明

Python里面def是什么意思

Python里d是什么意思

Python字符串的格式化的详细介绍

Python中divmod是什么

Python 日志增量抓取实现方法

详解Python使用asyncio包处理并发的方法

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...