当前位置: 首页 > news >正文

云南云桥建设股份有限公司官方网站做结构图的网站

云南云桥建设股份有限公司官方网站,做结构图的网站,中国机械采购网,wordpress负载均衡上传附件文章目录1. TCP/IP协议1.1 IP协议1.2 TCP协议2. UDP协议3. Socket4. TCP编程4.1 创建TCP服务器4.2 创建TCP客户端4.3 简易聊天工具5. UDP编程5.1 创建UDP服务器5.2 创建UDP客户端learning from 《python web开发从入门到精通》 1. TCP/IP协议 大家都用同样的协议 protocol沟通语言才能对话 TCP/IP协议 应用层FTP文件传输Telnet远程登录DNS域名系统SMTP电子邮件传输…为用户提供服务传输层TCP传输控制UDP用户数据报端到端通信保证顺序传输数据和完整性网络层IP网际协议IGMP互联网组管理ICMP互联网控制报文主机到主机通信链路层监视数据在主机和网络之间的交换 1.1 IP协议 数据被分成小包裹通过 IP包发出不保证到达不保证顺序 1.2 TCP协议 建立在 IP 协议之上3次握手建立可靠连接保证数据顺序到达丢失自动重发TCP 报文 包含数据源IP目标IP源端口目标端口 2. UDP协议 面向无连接的协议不需建立连接只需知道对方 IP 和端口不保证一定到达但是速度比 TCP 快 3. Socket 两个程序要网络通信都需要使用 Socket 套接字孔插座的意思用于描述 IP 地址 和 端口服务打开一个 Socket并绑定到一个端口上不同的端口对应不同的服务 python中的套接字 s socket.socket(AddressFamily, Type)AddressFamily填socket.AF_INET 用于 Internet 进程间通信填socket.AF_UNIX用于同一台机器进程间通信Type 套接字类型socket.SOCK_STREAM 流式套接字主要用于 TCPsocket.SOCK_DGRAM 数据包套接字主要用于 UDP 常用函数https://www.runoob.com/python/python-socket.html 函数描述服务器端套接字s.bind()绑定地址host,port到套接字 在 AF_INET下以元组host,port的形式表示地址。s.listen()开始 TCP 监听。backlog 指定在拒绝连接之前操作系统可以挂起的最大连接数量。该值至少为 1大部分应用程序设为 5 就可以了。s.accept()被动接受TCP客户端连接,(阻塞式)等待连接的到来客户端套接字s.connect()主动初始化TCP服务器连接。一般address的格式为元组hostname,port如果连接出错返回socket.error错误。s.connect_ex()connect()函数的扩展版本,出错时返回出错码,而不是抛出异常公共用途的套接字函数s.recv()接收 TCP 数据数据以字符串形式返回bufsize 指定要接收的最大数据量。flag 提供有关消息的其他信息通常可以忽略。s.send()发送 TCP 数据将 string 中的数据发送到连接的套接字。返回值是要发送的字节数量该数量可能小于 string 的字节大小。s.sendall()完整发送 TCP 数据。将 string 中的数据发送到连接的套接字但在返回之前会尝试发送所有数据。成功返回 None失败则抛出异常。s.recvfrom()接收 UDP 数据与 recv() 类似但返回值是data,address。其中 data 是包含接收数据的字符串address 是发送数据的套接字地址。s.sendto()发送 UDP 数据将数据发送到套接字address 是形式为ipaddrport的元组指定远程地址。返回值是发送的字节数。s.close()关闭套接字s.getpeername()返回连接套接字的远程地址。返回值通常是元组ipaddr,port。s.getsockname()返回套接字自己的地址。通常是一个元组(ipaddr,port)s.setsockopt(level,optname,value)设置给定套接字选项的值。s.getsockopt(level,optname[.buflen])返回套接字选项的值。s.settimeout(timeout)设置套接字操作的超时期timeout是一个浮点数单位是秒。值为None表示没有超时期。一般超时期应该在刚创建套接字时设置因为它们可能用于连接的操作如connect()s.gettimeout()返回当前超时期的值单位是秒如果没有设置超时期则返回None。s.fileno()返回套接字的文件描述符。s.setblocking(flag)如果flag为0则将套接字设为非阻塞模式否则将套接字设为阻塞模式默认值。非阻塞模式下如果调用recv()没有发现任何数据或send()调用无法立即发送数据那么将引起socket.error异常。s.makefile()创建一个与该套接字相关连的文件 4. TCP编程 主动发起连接的是客户端 被动响应连接的是服务器 4.1 创建TCP服务器 创建套接字bind 绑定 IP 和 端口listen socket 可以被动连接accept 等待客户端连接recv / send 接收发送数据 例子使用 socket 模块通过客户端浏览器 向 本地服务器127.0.0.1 发起请求服务器接到请求向浏览器发送 hello world import sockethost 127.0.0.1 # IP port 8080 # 端口 web socket.socket(socket.AF_INET, socket.SOCK_STREAM) web.bind((host, port)) # 绑定端口 web.listen(5) # 监听,最多5个连接 print(服务器启动成功, 等待客户端连接...) while True:conn, addr web.accept() # 建立客户端连接print(客户端连接成功, 地址:, addr)data conn.recv(1024) # 获取客户端发送的数据print(接收到客户端发送的数据:, data.decode())conn.sendall(bHTTP/1.1 200 OK\r\n\r\nHello World, Michael!) # 发送数据给客户端conn.close() # 关闭连接print(客户端连接关闭)服务器启动成功, 等待客户端连接... 客户端连接成功, 地址: (127.0.0.1, 7631) 接收到客户端发送的数据: GET / HTTP/1.1 Host: 127.0.0.1:8080 Connection: keep-alive sec-ch-ua: Not A;Brand;v99, Chromium;v96, Microsoft Edge;v96 sec-ch-ua-mobile: ?0 sec-ch-ua-platform: Windows Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.9 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q0.9,en;q0.8,en-GB;q0.7,en-US;q0.6客户端连接关闭 客户端连接成功, 地址: (127.0.0.1, 7632) 接收到客户端发送的数据: GET /favicon.ico HTTP/1.1 Host: 127.0.0.1:8080 Connection: keep-alive sec-ch-ua: Not A;Brand;v99, Chromium;v96, Microsoft Edge;v96 sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 sec-ch-ua-platform: Windows Accept: image/webp,image/apng,image/svgxml,image/*,*/*;q0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: http://127.0.0.1:8080/ Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q0.9,en;q0.8,en-GB;q0.7,en-US;q0.6客户端连接关闭4.2 创建TCP客户端 客户端比较简单一点 import sockets socket.socket(socket.AF_INET, socket.SOCK_STREAM) host 127.0.0.1 port 8080 s.connect((host, port)) while True:send_data input(请输入要发送的数据)if send_data exit:breaks.send(send_data.encode(utf-8))recvData s.recv(1024).decode(utf-8) # 最大接收1024字节print(接收到的数据, recvData) s.close()4.3 简易聊天工具 服务端 import sockethost socket.gethostname() port 12345 s socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host, port)) s.listen(1) sock, addr s.accept() print(建立连接, addr) info sock.recv(1024).decode() while info ! byebye:if info:print(收到信息, info)send_data input(请输入发送的信息)sock.send(send_data.encode())if send_data byebye:breakinfo sock.recv(1024).decode() sock.close() s.close()客户端 import sockets socket.socket(socket.AF_INET, socket.SOCK_STREAM) host socket.gethostname() port 12345 s.connect((host, port)) print(已经连接到服务器) info while info ! byebye:send_data input(请输入要发送的数据)s.send(send_data.encode())if send_data byebye:breakinfo s.recv(1024).decode()print(收到服务器的数据, info) s.close()5. UDP编程 UDP 面向消息的协议无需建立连接传输是不可靠的一般用于 语音广播视频聊天软件TFTP简单文件传送SNMP简单网络管理协议RIP路由信息协议DNS域名解释 5.1 创建UDP服务器 例子在客户端输入摄氏温度发送给服务器转换为华氏温度发送给客户端显示 import sockets socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP套接字 s.bind((127.0.0.1, 1314)) print(绑定 UDP服务 到 1314 端口) data, addr s.recvfrom(1024) # 收到的数据是 byte 类型 data float(data) * 1.8 32 send_data 转换后的温度华氏温度 str(data) print(从%s:%s收到请求数据 % addr) s.sendto(send_data.encode(utf-8), addr) # 发送数据给客户端 s.close()5.2 创建UDP客户端 import sockets socket.socket(socket.AF_INET, socket.SOCK_DGRAM) data input(请输入要转换的摄氏温度) s.sendto(data.encode(), (127.0.0.1, 1314)) print(s.recv(1024).decode()) s.close()
http://wiki.neutronadmin.com/news/262698/

相关文章:

  • 网站域名注册如何填写顶针 东莞网站建设
  • 网站设计模板psd陕西建设厅八大员官方网站
  • 江西威乐建设集团有限公司企业网站微信的企业网站模板
  • 九江浔阳网站建设婚恋网站设计
  • 南阳做网站多少费用wordpress 双语网站
  • 公司网站与营销网站在栏目上的不同wordpress主题页
  • 西安市沣东新城建设局网站昆明快速做网站
  • 北京南站是丰台站吗邯郸小学网站建设
  • 汽车用品网站建设学编程先学什么
  • 拖拽式可视化编辑网站网站网站设计
  • 哪个网站有适合小学生做的题目局域网搭建wordpress慢
  • 个人网站做博客还是做论坛钉钉网站建设服务协议
  • 网站网页切换怎么做的旅游示范校建设专题网站
  • 网站建设的总结外贸流程和外贸术语
  • 仿网站制作教学视频教程网站域名收费吗
  • 网站开发搜索功能怎么实现wordpress源码教程
  • 天津品牌网站建设公司计算机编程培训学校哪家好
  • 九亭 网站建设高校资源网网站建设方案
  • it前端是做网站的开发网站步骤
  • 北京市专业网站制作企业用网站做自我介绍自己
  • 重庆企业官网建站快速搭建网上在线看视频为什么卡
  • 帮客户做网站挣钱吗wordpress新闻轮播制作
  • 福田官网网站哪家企业做网站
  • 旅游类网站策划建设_郑州做响应式网站
  • 推销网站建设具备哪些知识网站里网格怎么做
  • 国外ui界面设计网站衡阳seo优化
  • 电脑单页网站建设网站服务器租用价格一般多少钱?
  • 开发一个商城网站需要多少钱网站制作信息
  • 营销网站建设专业团队在线服务wordpress 柚子皮5.61
  • 网站建设行业市场规模天津建设厅官方网站