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的exec、eval使用分析
Dec 11 Python
python爬取指定微信公众号文章
Dec 20 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
Django MEDIA的配置及用法详解
Jul 25 Python
python编写猜数字小游戏
Oct 06 Python
PyTorch中反卷积的用法详解
Dec 30 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
Python错误的处理方法
Jun 23 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
Jul 21 Python
Python实现中英文全文搜索的示例
Dec 04 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
php接口技术实例详解
2016/12/07 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
js加解密 脚本解密
2008/02/22 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
Python内置函数dir详解
2015/04/14 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
python实现简易云音乐播放器
2018/01/04 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
Python处理session的方法整理
2019/08/29 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
如何利用find命令查找文件
2016/11/18 面试题
志愿者活动总结
2014/04/28 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书