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 相关文章推荐
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
python实现Floyd算法
Jan 03 Python
教你使用python画一朵花送女朋友
Mar 29 Python
使用python编写监听端
Apr 12 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
python2和python3哪个使用率高
Jun 23 Python
Python机器学习之基础概述
May 19 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
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
PHP投票系统防刷票判断流程分析
2012/02/04 PHP
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
php新建文件的方法实例
2019/09/26 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
JavaScript 语言的递归编程
2010/05/18 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
广告学毕业生求职信
2014/01/30 职场文书
学校运动会通讯稿
2015/07/18 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
python实现三阶魔方还原的示例代码
2021/04/28 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python