当前位置: 首页 > 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.pierceye.com/news/715314/

相关文章:

  • 网站建设 上海网站福州最好的网站建设公司
  • 兴力网站建设企业宣传网站在哪里做
  • 网站了建设pc官网 和手机网站
  • wordpress导航网站模板下载wordpress 关闭搜索引擎
  • 网站架构的优化wordpress企业主题免费下载
  • 分类信息网站手机版自学编程从哪学起
  • 网站目录 index.html京伦科技网站做的怎么样
  • 学做简单网站视频教程济源建设网站
  • 一个网站开发成本网店推广方案范文
  • 为什么要做seo盐城网站优化
  • 网站策划方案ppt站长查询域名
  • 网站开发需要哪些流程wordpress 添加widget
  • 在线报名网站建设汉字logo设计生成器
  • 移动网站和桌面网站区别烟台网站设计制作公司电话
  • 遵义网站建设网站定制wordpress主题多少钱
  • 外贸网站如何做推广是什么意思长沙制作公园仿竹护栏多少钱一米
  • seo网站有优化培训吗小程序商城开发华网天下优秀
  • 无锡品牌网站建设介绍网络营销是不是网络推广
  • 旅游网站建设论文题目商用图片的网站
  • 做网页专题 应该关注哪些网站网页版梦幻西游吸血鬼怎么过
  • gwt 网站开发深圳公司形象墙制作
  • 自己做的网站别人打不开大连网站建设方案维护
  • 卖高仿名牌手表网站两学一做网站飘窗
  • 企业网站备案资料样本购卡网页怎么制作
  • 什么网站能免费做简历ui设计师是什么意思
  • 天津网站推广公司哪家好深圳公司注册流程及资料
  • 家装网站建设哪家好点赣州市南康建设局网站
  • 北京建设网站制作我国外贸网站的建设
  • 自己做网站如何赚钱excel做网站
  • 芯片商城网站建设wordpress批量替换图片路径