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的Django框架中自定义模版标签的示例
Jul 20 Python
python发送邮件功能实现代码
Jul 15 Python
python线程、进程和协程详解
Jul 19 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
python3射线法判断点是否在多边形内
Jun 28 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
利用Python实现自动扫雷小脚本
Dec 17 Python
用python计算文件的MD5值
Dec 23 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 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创建多级目录代码
2008/06/05 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
python解析中国天气网的天气数据
2014/03/21 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
python实现学生管理系统开发
2020/07/24 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
门卫岗位职责
2013/11/15 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
运动会广播稿50字
2014/01/26 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
python实现网络五子棋
2021/04/11 Python