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实现baidu hi自动登录的代码
Feb 10 Python
Python实现的下载8000首儿歌的代码分享
Nov 21 Python
SQLite3中文编码 Python的实现
Jan 11 Python
python MNIST手写识别数据调用API的方法
Aug 08 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
通过shell+python实现企业微信预警
Mar 07 Python
Python基础之列表常见操作经典实例详解
Feb 26 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
Python代码需要缩进吗
Jul 01 Python
python上selenium的弹框操作实现
Jul 13 Python
python利用xlsxwriter模块 操作 Excel
Oct 14 Python
python中pandas对多列进行分组统计的实现
Jun 18 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实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
angular2+node.js express打包部署的实战
2017/07/27 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
vue实现pdf文档在线预览功能
2019/11/26 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
Python Trie树实现字典排序
2014/03/28 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
一年级班主任寄语
2014/01/19 职场文书
家长对老师的评语
2014/04/18 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
实习单位推荐信
2015/03/27 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
httpclient调用远程接口的方法
2022/08/14 Java/Android