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 运算符 供重载参考
Jun 11 Python
python检测服务器是否正常
Feb 16 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
Jun 24 Python
python如何将两个txt文件内容合并
Oct 18 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 Python
python爬虫用mongodb的理由
Jul 28 Python
Python通过队列来实现进程间通信的示例
Oct 14 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中使用接口实现工厂设计模式的代码
2012/06/17 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP合并静态文件详解
2014/11/14 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
python安装scipy的步骤解析
2019/09/28 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
Python如何批量生成和调用变量
2020/11/21 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
品恩科技软件测试面试题
2014/10/26 面试题
电脑售后服务承诺书
2014/03/27 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
2016年母亲节寄语
2015/12/04 职场文书
工作自我评价范文
2019/03/21 职场文书