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

相关阅读 >>

django数据库连接丢失的问题解决(示例讲解)

如何搭建Python环境

如何用Python画烟花

Python学什么方向

Python多线程中阻塞(join)与锁(lock)使用误区解析

Python中关于上下文管理器的详解

Python中的猴子补丁是什么

3分钟写出你的第一个Python程序

Python怎么把三位数拆开

Python基础流程控制的介绍(代码示例)

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




打赏

取消

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

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

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

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

评论

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