python中的TCP(传输控制协议)用法实例分析


Posted in Python onNovember 15, 2019

本文实例讲述了python中的TCP(传输控制协议)用法。分享给大家供大家参考,具体如下:

1.TCP与UDP的不同:

windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ
提取码:68gr

或者点击此处本站下载

  • 面向连接(确认有创建三方交握,连接以创建的传输)
  • 有序数据传输
  • 重发丢失的数据包
  • 舍弃重复的数据包
  • 无差错的数据传输
  • 阻塞/流量控制

2.客户端:

import socket
def main():
  # 创建套接字
  tcp_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  # 连接服务器
  #tcp_socket.connect(("172.17.3.97",8080))
  server_ip = input("请输入要链接的服务器ip:")
  server_port = int(input("请输入要链接的服务器port:"))
  server_addr = (server_ip,server_port)
  tcp_socket.connect(server_addr)
  # 发送数据/接收数据
  send_data = input("请输入要发送的数据:")
  tcp_socket.send(send_data.encode("gbk"))
  #关闭套接字
  tcp_socket.close()
if __name__ == "__main__":
  main()

3.服务端:可以开启多个网络调试助手(客户端)测试

循环为多个客户端服务,并且循环为同一个客户端服务

import socket
def main():
  # 创建套接字
  tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 绑定本地信息
tcp_server_socket.bind("",7890)
# 让默认套接字由主动变为被动listen
tcp_server_socket.listen(128)
while True:
  print("等待一个新的客户端......")
  # 等待客户端的连接 accept
  new_client_socket ,client_addr = tcp_server_socket.accept()
  print("一个新的客户端已到来%s" %str(client_addr))
  while True:
    # 接受客户端发过来的请求
    recv_data = new_client_socket.recv(1024)
    print("客户端发来的请求是%s" %recv_data.decode("gbk"))
    # 如果recv解堵塞,那么有两种方式:
    # 1.客户端发来数据
    # 2.客户端调用close
    if recv_data:
      # 回送一部分数据给客户端
      new_client_socket.send("hahaha".encode("gbk"))
    else:
      break
  # 关闭套接字
  new_client_socket.close()
  print("服务完毕,谢谢光临!")
# 如果将监听套接字关闭,会导致不能再次等待新的客户端到来
tcp_server_socket.close()
if __name__ == "__main__":
  main()

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python发送arp欺骗攻击代码分析
Jan 16 Python
Python使用稀疏矩阵节省内存实例
Jun 27 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python常用知识点汇总
May 08 Python
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 Python
python实现与redis交互操作详解
Apr 21 Python
python读取pdf格式文档的实现代码
Apr 01 Python
Python Socket编程详解
Apr 25 Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 #Python
django实现类似触发器的功能
Nov 15 #Python
Python socket实现的文件下载器功能示例
Nov 15 #Python
Django通过dwebsocket实现websocket的例子
Nov 15 #Python
Python numpy线性代数用法实例解析
Nov 15 #Python
Django中提示消息messages的设置方式
Nov 15 #Python
调用其他python脚本文件里面的类和方法过程解析
Nov 15 #Python
You might like
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php 常用类汇总 推荐收藏
2010/05/13 PHP
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
php广告加载类用法实例
2014/09/23 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
回顾Javascript React基础
2019/06/15 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
python复制文件代码实现
2013/12/23 Python
调试Python程序代码的几种方法总结
2015/04/28 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
档案信息化建设方案
2014/05/16 职场文书
迎七一演讲稿
2014/09/12 职场文书
2015年科研工作总结范文
2015/05/13 职场文书