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实现的求解最小公倍数算法示例

Python死循环如何停止

Python是c语言编的吗

Python中fd()是什么

在不同的Python版本中,不换行输出有什么变化?

回味Python基本数据类型

Python中的函数介绍

Python中的组合数据类型可以分为哪三类

Python文件存储路径如何使用变量

Python第三十三天----静态方法、类方法、属性方法

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




打赏

取消

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

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

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

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

评论

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