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

长沙做企业网站推广的公司网页版浏览器怎么设置

长沙做企业网站推广的公司,网页版浏览器怎么设置,500强网站设计,做视频网站把视频放在哪里找1.编辑器vim 目标 能够说出vim三种工作模式 能够写出vim复制、剪切、粘贴、选中多行命令 yy,dd,p,数字V 能够写出查找、替换命令 :/要查找的内容#xff0c;n下一个#xff0c;N上一个 :%s/要替换的内容/新内容/g :10-20s/要替换的内容/新内容 1vim简 介 vim是一个类…1.编辑器vim 目标 能够说出vim三种工作模式 能够写出vim复制、剪切、粘贴、选中多行命令 yy,dd,p,数字V 能够写出查找、替换命令 :/要查找的内容n下一个N上一个 :%s/要替换的内容/新内容/g :10-20s/要替换的内容/新内容 1vim简 介 vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器 vim有三种基本工作模式 命令模式 编辑模式 末行模式。 2命令行模式 任何时候不管用户处于何种模式只要按一下ESC键即可使Vi进入命令模式我们在shell环境(提示符为$)下输入启动Vi命令进入编辑器时也是处于该模式下。在该模式下用户可以输入各种合法的Vi命令用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释若输入的字符是合法的Vi命令则Vi在接受用户命令之后完成相应的动作。但需注意的是所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令Vi会响铃报警。 3编辑模式 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下用户输入的任何字符都被Vi当做文件内容保存起来并将其显示在屏幕上。在文本输入过程中若想回到命令模式下按键ESC即可。 4末行模式 在命令模式下用户按“:”键即可进入末行模式下此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后Vi自动回到命令模式。例如 :sp newfile 则分出一个窗口编辑newfile文件。如果要从命令模式转换到编辑模式可以键入命令a或者i如果需要从文本模式返回则按Esc键即可。在命令模式下输入“:”即可切换到末行模式然后输入命令。 5vim基础操作 vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富 进入插入模式: i: 插入光标前一个字符 I: 插入行首 a: 插入光标后一个字符 A: 插入行未 o: 向下新开一行,插入行首 O: 向上新开一行,插入行首 进入命令模式: ESC:从插入模式或末行模式进入命令模式 移动光标: h: 左移 j: 下移 k: 上移 l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字 Ctrd: 向下翻半屏 Ctru: 向上翻半屏 Ctrf: 向下翻一屏 Ctrb: 向上翻一屏 gg: 光标移动文件开头 G: 光标移动到文件末尾 删除命令: x: 删除光标后一个字符,相当于 Del X: 删除光标前一个字符,相当于 Backspace dd: 删除光标所在行,n dd 删除指定的行数。也是剪切的意思配合p粘贴使用如果没有粘贴就是删除。 D: 删除光标后本行所有内容,包含光标所在字符 d0: 删除光标前本行所有内容,不包含光标所在字符 dw: 删除光标开始位置的字,包含光标所在字符 撤销命令: u: 一步一步撤销 Ctr-r: 反撤销 重复命令: .: 重复上一次操作的命令 文本行移动: : 文本行右移 : 文本行左移 复制粘贴: yy: 复制当前行,n yy 复制 n 行 p: 在光标所在位置向下新开辟一行,粘贴 可视模式: v: 按字符移动,选中文本 V: 按行移动,选中文本可视模式可以配合 d, y, , 实现对文本块的删除,复制,左右移动 替换操作: r: 替换当前字符 R: 替换当前行光标后的字符 查找命令: :/查找内容 n: 下一个 N: 上一个 替换命令 把abc全部替换成123 末行模式下将当前文件中的所有abc替换成123 :%s/abc/123/g 末行模式下将第一行至第10行之间的abc替换成123 :1, 10s/abc/123/g 因为是范围内替换最后可以不用加g 小结: %表示整个文件, 1, 10表示1到10行范围内 s表示替换 g表示全局 6设置vim显示行号 1 临时显示行号 如果只是临时显示vim的行号只须按ESC键退出编辑内容模式输入“set number”后按回车键就可以显示行号了。行号显示只是暂时的退出vim后再次打开vim就不显示行号了。 2永久显示行号 如果想让vim永久显示行号则需要修改vim配置文件vimrc。如果没有此文件可以创建一个。在启动vim时当前用户根目录下的vimrc文件会被自动读取因此一般在当前用户的根目录下创建vimrc文件即使用下面的命令 ■ vim ~/.vimrc ■ 在打开的vimrc文件中最后一行输入set number 然后保存退出。再次用vim打开文件时就会显示行号了。 2.Linux 命令总结 1. 启动终端 ctraltt 2. 终端字体放大 ctrshift,终端字体缩小: ctr- 3. ls: 查看当前目录下的文件信息 4. pwd: 查看目录所在的路径 5. touch: 创建文件 6. mkdir: 创建文件夹 7. rmdir: 删除文件夹提示只能是空文件夹 8. rm: 默认删除的是文件如果删除文件夹需要加上-r选项-r:以递归的方式把文件夹下的所有文件信息删除掉 9. cd切换目录 9.1 cd 目录名 切换到指定目录 9.2 cd .: 切换到当前目录 9.3 cd ..: 切换到上一级目录 9.4 cd ~: 切换到当前用户的目录 9.5 cd: 等价与cd ~ 切换到当前用户的目录 9.6 cd -: 切换到上一次目录 10. 绝对路径 从根目录算起的路径叫做绝对路径比如: /home/python 11. 相对路径 从当前目录算起的路径叫做相对路径, 比如: ./AAA ../BBB 12. 路径的使用总结: 如果离当前目录近使用相对路径如果离根目录近使用绝对路径如果进入的是中间目录建议使用绝对路径 13. 自动补全: 两次tab键 14. cp: 拷贝 14.1 cp 文件名 路径: 把文件拷贝到指定路径 14.2 cp 路径/文件名 路径: 把指定路径的文件拷贝到指定路径 14.3 cp 文件名 路径/新的文件名 先把文件拷贝到指定目录然后再重命名 14.4 cp 文件夹 路径 -r: 拷贝文件夹 -r:以递归的方式把文件夹下的所有文件拷贝过去 15. mv: 移动(剪切) 15.1 mv 文件名 路径: 把文件移动到指定路径 15.2 mv 路径/文件名 路径: 把指定路径的文件移动到指定路径 15.3 mv 文件名 新的文件名 重命名 15.4 mv 文件夹 路径: 把文件夹移动到指定目录不需要加上-r 16. tree: 以目录树方式显示当前文件夹信息 16.1 tree / : 以目录树方式显示指定路径的文件信息 17. 命令的格式 17.1 命令名 选项 参数 提示有些命令选项可以放到参数的后面但是scp 选项必须要放到命令名的后面 18. ls 选项 18.1 -l: 以列表的方式取显示 18.2 -a: 显示隐藏文件 18.3 -h: 显示文件大小的单位 19. mkdir 选项 19.1 -p: 把依赖文件夹提取创建好比如 mkdir 123/456/789 -p 20. rm选项 20.1 -r: 以递归的方式删除文件夹里面的所有内容 20.2 -i: 显示删除的时候提醒信息 20.3 -v: 显示删除后的描述信息 20.4 -d: 删除空目录 20.5 -f: 如果文件或者目录存在则删除否则就不删除也不会报错 21. cp选项 21.1 -i:拷贝文件的时候如果指定目录有该文件需要显示提醒信息 21.2 -v:显示拷贝文件的路径描述 21.3 -r:以递归的方式拷贝文件夹里面的所有内容 22. mv选项 22.1 -i:移动文件显示提醒信息 22.2 -v:显示移动后的路径描述 23. 重定向(,): 在终端显示的内容信息重写规定方向保存到指定文件里面以后查看数据是文件查看就可以了 23.1 :如果文件不存在那么先创建否则会先把原有文件的数据清空然后再写入 23.2 : 在原有数据的基础上进行追加 23.3 总结: ls cat, tree都可以使用重定向 24. gedit文本编辑工具可读可编辑 25. cat: 内容在终端显示不能进行编辑提示适合查看小型文件大型文件使用分屏方式显示(more) 26. more分屏显示 26.1 f表示下一页 26.2 空格:表示下一页 26.3 回车: 表示下一行 26.4 b:表示上一页 26.5 q:退出 27. 文件合并 cat 1.txt 2.txt 3.txt 28. 管道: 可以理解成是一个容器存放在终端显示的内容 28.1 总结: ls /bin | more , cat tree, ls都是可以结合管道使用完成分屏显示的 29. 链接 29.1 软连接:可以理解成快捷方式把原文件删除掉通过软链接无法打文件的数据 提示创建软连接不会对硬链接数加1 29.2 硬连接: 同一个数据有多个文件名在使用某个文件删除掉还可以通过其它文件名访问这个文件的数据 提示创建硬链接硬链接数会加1 29.3 提示如果创建的软链接没有和原文件在同一个目录里面那么需要使用绝对路径创建软连接 30. grep: 根据指定的内容在文件中进行查找 30.1 grep a 8.txt : 根据指定内容在文件中进行查找 30.2 -n:行号, -i:忽略大小写 -v: 取反 30.3 总结: ^,$ [], . 支持的正则表达式 31. find:在指定目录查找对应的文件 31.1 find . -name .txt 在当前目录查找后缀是.txt的文件 -name根据文件名查找 31.2 find . -perm 666: 在当前目录查找文件权限是可读可写的 -perm根据权限查找 31.3 总结: ? [] 支持的通配符 32. ls:支持的通配符: *,? , [], []:表示匹配任意列举中的一个字符 33. 通配符: ? * []起到了模糊查询的作用 34. tar: 打包、压缩、解包、解压缩 34.1 打包 tar -cvf test.tar *.txt, -c: 表示要打包 -v显示文件打到包里面 -f:表示文档名称提示-f必须放到所有选项的后面 34.2 解包 tar -xvf test.tar , -x表示解包 34.3 打包及压缩合并的命令:tar -zcvf test.tar.gz *.txt 34.4 解压缩及解包合并的命令:tar -zxvf test.tar.gz -得到对应的文件 34.5 指定解压缩的路径 tar -zxvf test.tar.gz -C ../BBB, -C:指定解压缩后的路径 34.6 tar -jcvf test.bz2 *.txt - test.bz2 34.7 tar -jxvf test.bz2 - 得到对应的文件 34.8 -C: 指定解压缩的路径 tar -jxvf test.bz2 -C ../BBB 35. zip的压缩及解压缩 35.1 zip test *.txt - test.zip ,提示压缩包的后缀不需要指定默认是.zip 35.2 unzip test.zip - 得到是压缩包里面的文件 35.3 unzip -d ./123 test.zip - 解压到指定路径 -d:表示解压的路径 36. chmod:修改权限 36.1 -r(4):可读 -w(2):可写 -x(1):可执行 36.2 u:当前用户 g: 同组用户 o: 其它用户 a:所有用户 36.3 :添加权限, -:撤销权限 : 赋值权限 36.4 chmod 000 1.txt : 全部没有权限 36.5 chmod a- 1.txt chmod a 1.txt : 全部没有权限 36.6 chmod 777 1.txt chmod arwx 1.txt : 都权限可读可读可执行 36.7 chmod 664 1.txt chmod urw,grw,or 1.txt 设置不同用户不同权限 37. cp选项 37.1-a: 保留文件原有权限-a包含-r,也就是使用-a也可以拷贝文件夹 38. which : 查看命令的路径 39. sudo -s 切换到管理员账号 40. passwd:修改密码 41. who 当前那些用户登陆 42. whoami:当前电脑登陆的用户是谁 43. exit退出 44. ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件 45. scp: 远程拷贝 45.1 scp 1.txt python192.168.107.132:/home/python/Desktop ,把本地文件拷贝到服务器端 45.2 scp -r test python192.168.107.132:/home/python/Desktop,把本地文件夹拷贝到服务器端 45.3 scp python192.168.107.132:/home/python/Desktop/1.txt . 把服务端的文件拷贝的本地 45.4 scp -r python192.168.107.132:/home/python/Desktop/test . 把服务端的文件夹拷贝的本地 46. apt list 支持的安装包 47. vim的使用 47.1 命令模式 编辑模式 末行模式 命令模式是编辑模式和末行模式的中转站 48. vim常用命令 命令模式下 i插入模式光标之前插入 I行首插入 o光标下一行插入 O光标上一行插入 a光标之后插入 A行尾插入 j向下移动 k向上移动 l向右移动 h向左移动 gg跳至首行 G跳至末行数字G跳至指定行 L跳至末行 yy复制数字yy从当前行复制指定行数 dd剪切数字dd从当前行剪切指定行数 D删除光标后本行所有内容包含光标 p粘贴 u撤销 M跳转至屏幕中间一行 w向后移动一个单词 b向前移动一个单词 Ctrld向下翻半屏 Ctrlu向上翻半屏 Ctrlf向下翻一屏 Ctrlb向上翻一屏 Ctrlr反撤销 r替换当前字符 R替换光标后的字符 x删除光标后一个字符 X删除光标前一个字符 d0删除光标前本行所有内容不包含当前光标所在位置 dw删除光标开始位置的单词包含当前字符 向右缩进 数字当前行开始的指定行数向右缩进 向左缩进 数字当前行开始的指定行数向左缩进 v从当前字符选择 选择后y复制 d剪切 V从当前行选择  选择后y复制 d剪切 Shift;进入末行模式 末行模式下 q退出 q!强制退出不保存 w保存 wq保存并退出 x保存并退出 /字符串查找  n下一个  N上一个 %s/old/new/g把文本中的old全部替换为new 2,10s/old/new/g把文本中2到10行中的old替换为new !直接在vi中执行shell命令 3.乌班图执行python文件 ./1.py 直接执行.py文件需要先在.py文件的首行输入 #!/usr/bin/python3 #!后面跟python3的路径python3所在的路径可以用which python3查询 4.网络 1网络概述 什么是网络 网络就是指将具有独立功能的多台计算机通过通信线路连接起来在网络管理软件及网络通信协议下实现资源共享和信息传递的虚拟平台。 通俗理解网络就是把双方或者多方设备连接起来的一个工具然后可以进行数据传递 学习网络的目的 能够编写基于网络通信的软件通过网络把数据从一方传递到另外一方完成数据的共享 通俗来说就是能够进行网络编程开发网络通信程序或者软件。 2ip地址 ip地址的概念 ip地址是标识网络中唯一的一台设备的 ip地址的作用 通过ip地址找到网络中唯一一台设备然后可以给设备发送数据 私有ip 私有ip就是局域网中使用的ip地址国际规定有一部分ip地址是在局域网中使用的 私有ip的范围也就是不在公网中使用的ip地址范围: 10.0.0.010.255.255.255 172.16.0.0172.31.255.255 192.168.0.0192.168.255.255 本机ip地址 127.0.0.1表示本机ip地址; 本机域名是localhost; 通过域名可以解析一个ip地址域名方便大家记忆某台电脑的主机地址 3Linux命令(ping, ifconfig) 查看或配置网卡信息ifconfig mac和Linux 用 ifconfig Windows 用 ipconfig 测试远程主机连通性ping 通常用ping来检测网络是否正常 小结 1.ping 127.0.0.1 检查本地网卡是否正常 2.ping www.baidu.com 检查是否能上公网 3.ping 当前局域网的ip地址 检查是否在同一个局域网内 4端口 什么是端口 端口是传输数据的通道好比教室的门是数据传输必经之路。 如果一个程序需要收发网络数据那么就需要有这样的端口 端口号 问题:一个电脑上运行着多个应用程序都需要收发数据如何区分给那个应用程序呢? 既然有这么多端口操作系统为了统一管理所以进行了编号这就是端口号 端口号:使用唯一一个编号来标识端口, 其实就是标识端口的一个编号。 在linux系统中端口号有655362的16次方个 端口号划分 端口号不是随意使用的而是按照一定的规定进行分配。 端口号分为知名端口号和动态端口号 知名端口号Well Known Ports 知名端口号: 系统程序使用的端口号 知名端口号是众所周知的端口号范围从0到1023 80端口分配给HTTP服务 21端口分配给FTP服务 一般情况下如果一个程序需要使用知名端口的需要有root权限 动态端口号Dynamic Ports 动态端口号: 程序员开发应用程序使用端口号, 之所以称为动态端口是因为它一般不固定分配某种服务而是动态分配。 动态端口的范围是从1024到65535 注册端口端口1024到49151 动态端口从49152到65535 当这个程序关闭时同时也就释放了所占用的端口号 怎样查看端口号 用 netstat an 查看程序所使用的端口号 lsof -i [tcp/udp]:2425 查看端口号对应的应用程序 提示: 如果端口号找不到应用程序使用管理员权限加上sudo 可以全部用sudo lsof -i:端口号 总结 网络通信的流程是先通过ip地址找到网络中的设备再通过端口号来找到对应的端口然后通过端口把数据传输给对应的应用程序 5.网络传输方式-UDP 1UDP概念 UDP:英文全拼(User Datagram Protocol)简称用户数据报协议它是无连接的、不可靠的网络传输协议 2UDP特点 因为udp发送数据之前不需要建立连接所以具有以下特点 无连接 资源开销小 传输速度快 udp每个数据包最大是64K 3UDP的优缺点 优点: 传输速度快 不需要连接资源开销小 缺点: 传输数据不可靠容易丢数据包 没有流量控制当对方没有及时接收数据发送方一直发送数据会导致缓冲区数据满了电脑出现卡死情况所有接收方需要及时接收数据。 4UDP的使用场景 当对网络通讯质量要求不高的时候要求网络通讯速度能尽量的快这时就可以使用UDP qq音视频传输微信音视频传输 上课使用的共屏软件 发送广播消息 小结: UDP是一个简单的面向数据报的运输层协议。UDP不提供可靠性它只是把应用程序传给IP层的数据报发送出去但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接且没有超时重发等机制故而传输速度很快。 6.socket介绍 1不同电脑上的进程之间如何通信 首先通过ip地址找到网络中对应的电脑然后通过传输协议和端口号来确定这个进程(运行起来的软件)那么数据如何传输需要使用socket来完成也就是进程之间通信使用socket 注意 所谓进程指的是运行的程序或者软件称之为进程在讲解多任务编程时进行详细讲解 所谓进程间通信指的是运行的程序之间的数据共享 2什么是socket socket(简称 套接字) 是进程间通信一个工具它能实现把数据从一方传输到另外一方完成不同电脑上进程之间的通信 它好比数据的搬运工。 3socket使用场景 不夸张来说只要跟网络相关的应用程序或者软件都使用到了socket 小结: socket就是完成不同电脑上进程之间通信的一个工具负责进程之间数据的传输 7.udp网络程序-发送、接收数据 1udp网络程序流程 创建一个基于udp的网络程序流程很简单具体步骤如下 创建客户端套接字 发送/接收数据 关闭套接字 总结 网络通信的流程 1. 对方的ip地址 2. 应用程序的端口号 3. 数据的传输协议(udp/tcp) 4. 使用socket收发数据 2创建socket 在 Python 中 使用socket 模块的函数 socket 就可以完成 import socket socket.socket(AddressFamily, Type) 说明 函数 socket.socket 创建一个 socket该函数带有两个参数 Address FamilyIP地址类型; AF_INET表示ipv4类型、AF_INET6表示ipv6类型; Type套接字类型可以是 SOCK_STREAM流式套接字主要用于 TCP 协议或者 SOCK_DGRAM数据报套接字主要用于 UDP 协议 创建一个udp socketudp套接字 import socket # 创建udp的套接字 s socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # ...这里是使用套接字的功能省略... # 不用的时候关闭套接字 s.close() 说明 套接字使用流程 与 文件的使用流程很类似 创建套接字 使用套接字收/发数据 关闭套接字 3发送数据sendto() 代码如下 import socket # 1. 创建udp套接字 udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 2. 准备接收方的地址 # 192.168.1.103表示目的ip地址 # 8080表示目的端口 dest_addr (192.168.1.103, 8080)  # 注意 是元组ip是字符串端口是数字 # 3. 从键盘获取数据 send_data input(请输入要发送的数据:) # 4. 发送数据到指定的电脑上的指定程序中 udp_socket.sendto(send_data.encode(utf-8), dest_addr) # 5. 关闭套接字 udp_socket.close() 4发送、接收数据 import socket # 1. 创建udp套接字 udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 2. 准备接收方的地址 dest_addr (192.168.236.129, 8080) # 3. 从键盘获取数据 send_data input(请输入要发送的数据:) # 4. 发送数据到指定的电脑上 udp_socket.sendto(send_data.encode(utf-8), dest_addr) # 5. 等待接收对方发送的数据 recv_data udp_socket.recvfrom(1024)  # 1024表示本次接收的最大字节数 # 6. 显示对方发送的数据 # 接收到的数据recv_data是一个元组 # 第1个元素是对方发送的数据 # 第2个元素是对方的ip和端口 print(recv_data[0].decode(gbk)) print(recv_data[1]) # 7. 关闭套接字 udp_socket.close() 8.数据编码和解码 编码和解码操作 str-bytes:encode编码 bytes-str:decode解码 字符串通过编码成为字节码字节码通过解码成为字符串。 其中decode()与encode()方法可以接受参数其声明分别为: bytes.decode(encodingutf-8, errorsstrict) str.encode(encodingutf-8, errorsstrict) 其中的encoding是指在解码编码过程中使用的编码格式errors是指错误的处理方案。 注意: strict:表示严格按照指定编解码方式进行编码和解码如果编解码不成功则崩溃 ignore:表示忽略编解码不成功的字符如果编解码不成功程序不会崩溃 9.udp绑定端口号 1绑定信息 一般情况下在一台电脑上运行的网络程序有很多为了不与其他的网络程序占用同一个端口号往往在编程中udp的端口号一般不绑定 但如果需要做成一个服务器端的程序的话是需要绑定的 一般服务性的程序往往需要一个固定的端口号这就是所谓的端口号绑定 2绑定示例 #codingutf-8 from socket import * # 1. 创建套接字 udp_socket socket(AF_INET, SOCK_DGRAM) # 2. 绑定本地的相关信息如果一个网络程序不绑定则系统会随机分配 #  ip地址和端口号ip一般不用写表示本机的任何一个ip local_addr (, 7788) udp_socket.bind(local_addr) # 3. 等待接收对方发送的数据 recv_data udp_socket.recvfrom(1024) #  1024表示本次接收的最大字节数 # 4. 显示接收到的数据 print(recv_data[0].decode(gbk)) # 5. 关闭套接字 udp_socket.close() 总结 一个udp网络程序不绑定端口号此时操作系统会随机分配一个端口号如果绑定端口号每次启动程序端口号不变。 10.UDP发送广播消息 参考代码 import socket if __name__ __main__: # 创建udpsocket udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 设置socket的选项允许发送广播消息 udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True) # 发送广播消息 udp_socket.sendto(大家好我叫小郭同学多多关照!.encode(gbk), (255.255.255.255, 9090)) # 关闭socket udp_socket.close() 总结 广播地址最常用的是255.255.255.255 通用的广播地址不区分网段 192.168.14.255 局域网内的广播地址 11.udp聊天器 目标 能够写出udp聊天器功能程序 说明 在一个电脑中编写1个程序有2个功能 1.获取键盘数据并将其发送给对方 2.接收数据并显示 选择以上的2个功能调用 参考代码 import socket def send_msg(udp_socket): 获取键盘数据并将其发送给对方 # 1. 从键盘输入数据 msg input(\n请输入要发送的数据:) # 2. 输入对方的ip地址 dest_ip input(\n请输入对方的ip地址:) # 3. 输入对方的port dest_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()
http://wiki.neutronadmin.com/news/56056/

相关文章:

  • 云南做网站哪家好上海网络维护服务公司
  • ppt模板网站排行榜长沙九度网络科技
  • 常州做网站公司排名网站建设策划报价
  • 北京做环评备案的网站深圳市龙华区属于哪个区
  • 网站的管理在线包装设计软件
  • 江门建站价格前端如何做响应式网站
  • 嘉兴网嘉兴网站建设新乡seo公司
  • 建设网站有哪些好处安康码管理平台
  • 本地服务器域名解析网站建设网站域名解析错误怎么解决
  • 地和网站建设梧州网站建设流程
  • 网站怎么做市场分析县城服务网站如何做
  • 重庆中国建设银行招聘信息网站软件网站设计
  • 衣联网和一起做网站 哪家强网站建设投资风险分析
  • 国外有哪些优秀的网站开发板推荐
  • 网站建设项目需求分析网站导航如何用响应式做
  • 网站建设不备案后果wordpress请求接口数据库
  • 盘锦网站建设公司石家庄房产网最新楼盘
  • 哈尔滨门户网站设计报价wordpress外链自动保存
  • ps模板下载网站oa网站建设价格
  • 如何创建网站难吗最新网站建设视频
  • 集团公司网站建设求网站资源懂的2021
  • 住房城市乡建设部网站深圳市深度设计咨询有限公司
  • 营销型品牌网站建设价格哪些网站适合推广
  • 网站开发项目的需求分析湘阴网站建设
  • 网站建设课程ppt查询seo
  • 免费个人网站建设直播网站开发要多久
  • 国外创意网站欣赏怎么申请网站空间
  • 国外外贸网站在哪个网站做游戏视频好
  • 网站建设问题表房源网
  • 免费海报素材网站大全网站开发公司需要投入什么资源