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

江门网站推广深圳公司百度网盘免费下载

江门网站推广深圳公司,百度网盘免费下载,wordpress添加页面模块,云彩网站计算机网络(UDP 和 TCP)概述为了让在不同的电脑上运行的软件#xff0c;之间能够互相传递数据#xff0c;就需要借助网络的功能使用网络能够把多方链接在一起#xff0c;然后可以进行数据传递所谓的网络编程就是#xff0c;让在不同的电脑上的软件能够进行数据传递#xf…计算机网络(UDP 和 TCP)概述为了让在不同的电脑上运行的软件之间能够互相传递数据就需要借助网络的功能使用网络能够把多方链接在一起然后可以进行数据传递所谓的网络编程就是让在不同的电脑上的软件能够进行数据传递即进程之间的通信IP地址IP地址的作用用在网络中标记一台电脑比如192.168.1.1在本地局域网上是唯一的。IP地址的分类每一个IP地址包括两部分网络地址和主机地址IP地址的查看linux系统 终端输入ifconfig winipconfig测试远程主机连通性 ping IP地址端口如果一个程序需要收发网络数据那么就需要有端口端口号端口是通过端口号来标记的端口号只有整数范围是从0到65535端口分类** 知名端口(Well Known Ports)知名端口是众所周知的端口号范围从0到102380端口分配给HTTP服务21端口分配给FTP服务** 动态端口(Dynamic Ports)动态端口的范围是从1024到65535之所以称为动态端口是因为它一般不固定分配某种服务而是动态分配。动态分配是指当一个系统程序或应用程序程序需要网络通信时它向主机申请一个端口主机从可用的端口号中分配一个供它使用。当程序关了的时候端口号也就释放了socket 简介“协议端口”可以唯一标识主机中的应用进程(进程)。socket(简称 套接字) 是进程间通信的一种方式它与其他进程间通信的一个主要不同是它能实现不同主机间的进程间通信我们网络上各种各样的服务大多都是基于 Socket 来完成通信的创建socketimport socketsocket.socket(AddressFamily, Type)Address Family : 可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INETType套接字类型可以是 SOCK_STREAM(流式套接字主要用于 TCP 协议)或者 SOCK_DGRAM(数据报套接字主要用于 UDP 协议)创建一个tcp socket(tcp套接字)import socket# 创建tcp的套接字s socket.socket(socket.AF_INET, socket.SOCK_STREAM)# ...这里是使用套接字的功能(省略)...# 不用的时候关闭套接字s.close()创建一个udp socket(udp套接字)import socket# 创建udp的套接字s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# ...这里是使用套接字的功能(省略)...# 不用的时候关闭套接字s.close()UDP创建一个基于udp的网络程序流程很简单具体步骤如下1、创建客户端套接字2、发送/接收数据3、关闭套接字udp 聊天器import socketdef send_msg(udp_socket):获取键盘数据并将其发送给对方# 1. 从键盘输入数据msg input(\n请输入要发送的数据:)# 2. 输入对方的ip地址dest_ip input(\n请输入对方的ip地址:)# 3. 输入对方的portdest_port int(input(\n请输入对方的port:))# 4. 发送数据udp_socket.sendto(msg.encode(utf-8), (dest_ip, dest_port))def recv_msg(udp_socket):接收数据并显示# 1. 接收数据recv_msg udp_socket.recvfrom(1024)# 2. 解码recv_ip recv_msg[1]recv_msg recv_msg[0].decode(utf-8)# 3. 显示接收到的数据print(%s:%s % (str(recv_ip), recv_msg))def main():# 1. 创建套接字udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 2. 绑定本地信息udp_socket.bind((, 7890))while True:# 3. 选择功能print(*30)print(1:发送消息)print(2:接收消息)print(*30)op_num input(请输入要操作的功能序号:)# 4. 根据选择调用相应的函数if op_num 1:send_msg(udp_socket)elif op_num 2:recv_msg(udp_socket)else:print(输入有误请重新输入...)if __name__ __main__:main()TCPTCP协议传输控制协议(英语Transmission Control Protocol缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议由IETF的RFC 793定义。TCP特点1、面向连接通信双方必须先建立连接才能进行数据的传输双方都必须为该连接分配必要的系统内核资源以管理连接的状态和连接上的传输。双方间的数据传输都可以通过这一个连接进行。完成数据交换后双方必须断开此连接以释放系统资源。连接是一对一的因此TCP不适用于广播的应用程序基于广播的应用程序请使用UDP协议。2、可靠传输1)TCP采用发送应答机制TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功2)超时重传发送端发出一个报文段之后就启动定时器如果在定时时间内没有收到应答就重新发送这个报文段。TCP为了保证不发生丢包就给每个包一个序号同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK)如果发送端实体在合理的往返时延(RTT)内未收到确认那么对应的数据包就被假设为已丢失将会被进行重传。3)错误校验TCP用一个校验和函数来检验数据是否有错误在发送和接收时都要计算校验和。4) 流量控制和阻塞管理流量控制用来避免主机发送得过快而使接收方来不及完全收下。TCP通信模型文件下载器from socket import *import sysdef get_file_content(file_name):获取文件的内容try:with open(file_name, rb) as f:content f.read()return contentexcept:print(没有下载的文件:%s % file_name)def main():if len(sys.argv) ! 2:print(请按照如下方式运行python3 xxx.py 7890)returnelse:# 运行方式为python3 xxx.py 7890port int(sys.argv[1])# 创建sockettcp_server_socket socket(AF_INET, SOCK_STREAM)# 本地信息address (, port)# 绑定本地信息tcp_server_socket.bind(address)# 将主动套接字变为被动套接字tcp_server_socket.listen(128)while True:# 等待客户端的链接即为这个客户端发送文件client_socket, clientAddr tcp_server_socket.accept()# 接收对方发送过来的数据recv_data client_socket.recv(1024) # 接收1024个字节file_name recv_data.decode(utf-8)print(对方请求下载的文件名为:%s % file_name)file_content get_file_content(file_name)# 发送文件的数据给客户端# 因为获取打开文件时是以rb方式打开所以file_content中的数据已经是二进制的格式因此不需要encode编码if file_content:client_socket.send(file_content)# 关闭这个套接字client_socket.close()# 关闭监听套接字tcp_server_socket.close()if __name__ __main__:main()客户端 参考代码如下:from socket import *def main():# 创建sockettcp_client_socket socket(AF_INET, SOCK_STREAM)# 目的信息server_ip input(请输入服务器ip:)server_port int(input(请输入服务器port:))# 链接服务器tcp_client_socket.connect((server_ip, server_port))# 输入需要下载的文件名file_name input(请输入要下载的文件名)# 发送文件下载请求tcp_client_socket.send(file_name.encode(utf-8))# 接收对方发送过来的数据最大接收1024个字节(1K)recv_data tcp_client_socket.recv(1024)# print(接收到的数据为:, recv_data.decode(utf-8))# 如果接收到数据再创建文件否则不创建if recv_data:with open([接收]file_name, wb) as f:f.write(recv_data)# 关闭套接字tcp_client_socket.close()if __name__ __main__:main()标签udp,socket,python,笔记,计算机网络,TCP,file,接字,recv
http://www.zqtcl.cn/news/715314/

相关文章:

  • 做 暧视频在线观看网站北京安卓app开发公司
  • h5哪个网站可以做惠州+企业网站建设
  • 网站运营知识哪个网站可以做免费商业推广
  • 电脑做网站怎么解析域名河南郑州静默管理
  • 项目网站制作冯提莫斗鱼前在哪个网站做直播
  • 网站建设 思路wordpress 访问记录插件
  • 网站建设diyseo课程培训班费用
  • 舞蹈培训东莞网站建设做直播网站
  • app建设网站公司网站制作预算
  • 移动端网站如何开发市辖区郑州网站建设
  • 山东省双体系建设网站wordpress 帮助 主题
  • 手机怎么做三个视频网站网站建设协议一百互联
  • 创建一个网站一般步骤有哪些安徽软件定制开发
  • 网站建设平台协议书模板下载佳木斯建网站的
  • 部队网站建设招标二级域名注册平台
  • 做网站怎么调用栏目织梦搞笑图片网站源码
  • 开个小网站要怎么做南宁seo外包服务商
  • 济宁做网站的企业app网站开发学习
  • 哪个网站可以做危险化学品供求html静态网站作品
  • 豪圣建设项目管理网站创建网站的视频
  • 网站做接口自己做的网站只能用谷歌浏览器打开
  • 建设网站具体步骤python 做 网站
  • 网站源代码怎么上传wordpress标题字体大小
  • 营销型网站哪家好网页设计一张多少钱
  • 怎么搭建购物网站山东德州网站建设
  • 网站 404 错误页面是否自动跳转太原网站建设王道下拉惠
  • 美仑-专门做服装的网站淘宝详情页制作
  • 网站商城制作策划公司组织结构图
  • 商务网站建设教程企网
  • 北京做网站推广多少钱丽水网站建设公司排名