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动态加载变量示例分享
Feb 17 Python
python人人网登录应用实例
Sep 26 Python
Python 自动补全(vim)
Nov 30 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
简单学习Python time模块
Apr 29 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
python实现飞行棋游戏
Feb 05 Python
Python实现SMTP邮件发送
Jun 16 Python
python实现图片素描效果
Sep 26 Python
Python pip 常用命令汇总
Oct 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
php下使用SMTP发邮件的代码
2008/01/10 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
JavaScript 原型继承
2011/12/26 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
python3实现表白神器
2019/04/09 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
性能服装:HYLETE
2018/08/14 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
水务局局长岗位职责
2013/11/28 职场文书
2014年关于两会精神的心得体会
2014/03/17 职场文书
股权转让协议书范本
2014/04/12 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
2014年纪检工作总结
2014/11/12 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书