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使用PyV8执行javascript代码示例分享
Dec 04 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
图文详解WinPE下安装Python
May 17 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
浅析Git版本控制器使用
Dec 10 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
Python list运算操作代码实例解析
Jan 20 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 Python
python基础之函数的定义和调用
Oct 24 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
FCKeditor的安装(PHP)
2007/01/13 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
angular中使用Socket.io实例代码
2017/06/03 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
在Django框架中运行Python应用全攻略
2015/07/17 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
详解python的数字类型变量与其方法
2016/11/20 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
写给女朋友的检讨书
2014/01/28 职场文书
买房协议书
2014/04/11 职场文书
市场总监岗位职责
2015/02/11 职场文书
校长师德表现自我评价
2015/03/04 职场文书
2015年服务员工作总结
2015/04/08 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
导游词之介休绵山
2019/12/31 职场文书
python 破解加密zip文件的密码
2021/04/22 Python