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


Posted in Python onSeptember 18, 2017

简单的学习下利用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之客户端和服务端握手详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python数据结构之二叉树的统计与转换实例
Apr 29 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
Python 中 Meta Classes详解
Feb 13 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
python字符串和常用数据结构知识总结
May 21 Python
python实现批量视频分帧、保存视频帧
May 31 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
python3 使用traceback定位异常实例
Mar 09 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
pytorch 带batch的tensor类型图像显示操作
May 20 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 Python
Python基于time模块求程序运行时间的方法
Sep 18 #Python
Python使用当前时间、随机数产生一个唯一数字的方法
Sep 18 #Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 #Python
Python实现输出程序执行进度百分比的方法
Sep 16 #Python
Python实现求笛卡尔乘积的方法
Sep 16 #Python
轻松理解Python 中的 descriptor
Sep 15 #Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 #Python
You might like
php 字符串函数收集
2010/03/29 PHP
php中实现简单的ACL 完结篇
2011/09/07 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
Angular路由简单学习
2016/12/26 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
用Python进行基础的函数式编程的教程
2015/03/31 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
python文件及目录操作代码汇总
2020/07/08 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
python 实现汉诺塔游戏
2020/11/28 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
上课说话检讨书大全
2014/01/22 职场文书
《掌声》教学反思
2014/02/23 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
外贸英文求职信范文
2015/03/19 职场文书
高考1977观后感
2015/06/04 职场文书
部门主管竞聘书
2015/09/15 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python