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 12 Python
pycharm 使用心得(六)进行简单的数据库管理
Jun 06 Python
python排序方法实例分析
Apr 30 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
机器学习python实战之决策树
Nov 01 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
深入了解Python iter() 方法的用法
Jul 11 Python
pytorch 实现模型不同层设置不同的学习率方式
Jan 06 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
20行Python代码实现视频字符化功能
Apr 13 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 Python
python matlab库简单用法讲解
Dec 31 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中localeconv()函数的用法
2019/03/26 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
Django中使用locals()函数的技巧
2015/07/16 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
深入理解Django中内置的用户认证
2017/10/06 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python初学者常见错误详解
2019/07/02 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
课程设计的心得体会
2014/09/03 职场文书
教师自我剖析材料
2014/09/29 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
python 使用pandas读取csv文件的方法
2022/12/24 Python