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为tornado添加recaptcha验证码功能
Feb 26 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 Python
PHP实现发送和接收JSON请求
Jun 07 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
python增加图像对比度的方法
Jul 12 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
python 调整图片亮度的示例
Dec 03 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 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 中的str_replace 函数总结
2007/04/27 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
Git命令之分支详解
2021/03/02 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
Python自动发送邮件的方法实例总结
2018/12/08 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
Python实现自动装机功能案例分析
2020/10/22 Python
预备党员思想汇报
2014/01/08 职场文书
大学老师推荐信
2014/02/25 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
物流管理专业自荐信
2014/06/23 职场文书
高效课堂标语
2014/06/26 职场文书
党支部四风整改方案
2014/10/25 职场文书
伏羲庙导游词
2015/02/09 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python
详解Python flask的前后端交互
2022/03/31 Python
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技