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 专题三 字符串的基础知识
Mar 19 Python
python Flask实现restful api service
Dec 04 Python
Python enumerate索引迭代代码解析
Jan 19 Python
python模块之paramiko实例代码
Jan 31 Python
详解Python3的TFTP文件传输
Jun 26 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Python爬虫 urllib2的使用方法详解
Sep 23 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
Python如何读写字节数据
Aug 05 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
python_tkinter弹出对话框创建
Mar 20 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/08/21 PHP
php异常处理使用示例
2014/02/25 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
python 不关闭控制台的实现方法
2011/10/23 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
python的sorted用法详解
2019/06/25 Python
django2笔记之路由path语法的实现
2019/07/17 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
Python2与Python3的区别点整理
2019/12/12 Python
Python调用.NET库的方法步骤
2019/12/27 Python
通过cmd进入python的步骤
2020/06/16 Python
献爱心捐款倡议书
2014/05/14 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python