Python使用socket模块实现简单tcp通信


Posted in Python onAugust 18, 2020

正文开始:

服务器端代码:

# 再来简单的测试,这个是服务器端
import socket
import sys

BUF_SIZE = 1024
ip_port = (r"127.0.0.1", 11552)

my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 先拿到套接字,指定个ipv4以及流式数据包
my_socket.bind(ip_port) # 绑定
my_socket.listen(2)

# 循环等待客户端连接
while True:
  print("waiting for client..")
  conn, address = my_socket.accept()
  print("connect from .." + str(address))

  # 循环接受
  while True:
    ret = conn.recv(BUF_SIZE)
    print("server receive data:" + str(ret))

    if "END" in str(ret):
      print("clent's gonna be offline.")
      conn.send(bytes("BYE", encoding="utf-8"))
      my_socket.close()
      sys.exit()
    else:
      conn.send(bytes("server copy", encoding="utf-8"))

客户端代码:

# 这个是客户端
import socket

BUF_SIZE = 1024
ip_port = (r"127.0.0.1", 11552)

my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_socket.connect(ip_port)

while True:
  data = input(">>>")

  my_socket.send(bytes(data, encoding="utf-8"))
  recieve_data = my_socket.recv(BUF_SIZE)
  print("client receive data = " + str(recieve_data))
  if "BYE" in str(recieve_data):
    print("server disconnect!")
    break

运行方法:

一个利用windows的cmd,直接输入命令:python server.py运行服务器

一个利用pycharm直接运行client.py

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

Python 相关文章推荐
Python生成器(Generator)详解
Apr 13 Python
Python的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
使用python3构建文件传输的方法
Feb 13 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
解决Mac下使用python的坑
Aug 13 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
Python selenium键盘鼠标事件实现过程详解
Jul 28 Python
Python如何截图保存的三种方法(小结)
Sep 01 Python
Python 如何实现数据库表结构同步
Sep 29 Python
python 浮点数四舍五入需要注意的地方
Aug 18 #Python
Python filter过滤器原理及实例应用
Aug 18 #Python
Python lambda表达式原理及用法解析
Aug 18 #Python
python 使用建议与技巧分享(四)
Aug 18 #Python
Python正则re模块使用步骤及原理解析
Aug 18 #Python
python使用建议技巧分享(三)
Aug 18 #Python
python3跳出一个循环的实例操作
Aug 18 #Python
You might like
PHP判断是否有Get参数的方法
2014/05/05 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
js实现数组转换成json
2015/06/26 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python中的作用域规则详解
2015/01/30 Python
Python实现excel转sqlite的方法
2017/07/17 Python
Python中实现switch功能实例解析
2018/01/11 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
Loreto Gallo英国:欧洲领先的在线药房
2021/01/21 全球购物
医学院护理专业应届生求职信
2013/11/12 职场文书
经济与贸易专业应届生求职信
2013/11/19 职场文书
六十岁生日答谢词
2014/01/10 职场文书
股东合作协议书
2014/09/12 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
小学中等生评语
2014/12/29 职场文书
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL