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中查找excel某一列的重复数据 剔除之后打印
Feb 10 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
Python微医挂号网医生数据抓取
Jan 24 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
python pandas时序处理相关功能详解
Jul 03 Python
python操作excel让工作自动化
Aug 09 Python
django框架cookie和session用法实例详解
Dec 10 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 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调用Webservice实例代码
2011/07/29 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
Python合并多个装饰器小技巧
2015/04/28 Python
python求解水仙花数的方法
2015/05/11 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
什么是servlet
2012/05/08 面试题
护理专科毕业推荐信
2013/11/10 职场文书
美国留学经济担保书
2014/05/20 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
严以用权学习心得体会
2016/01/12 职场文书
导游词之山海关
2019/12/10 职场文书
python之django路由和视图案例教程
2021/07/26 Python
java实现web实时消息推送的七种方案
2022/07/23 Java/Android