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

中牟县建设局网站山东建设局网站

中牟县建设局网站,山东建设局网站,微信腾讯会议,wordpress注册后发邮件python高级进阶全知识知识笔记总结完整教程#xff08;附代码资料#xff09;主要内容讲述#xff1a;操作系统#xff0c;虚拟机软件。ls命令选项#xff0c;mkdir和rm命令选项。压缩和解压缩命令#xff0c;文件权限命令。编辑器 vim#xff0c;软件安装。获取进程编号… python高级进阶全知识知识笔记总结完整教程附代码资料主要内容讲述操作系统虚拟机软件。ls命令选项mkdir和rm命令选项。压缩和解压缩命令文件权限命令。编辑器 vim软件安装。获取进程编号进程执行带有参数的任务。线程执行带有参数的任务线程的注意点。死锁进程和线程的对比。TCP 网络应用程序开发流程TCP 客户端程序开发。案例-多任务版TCP服务端程序开发socket之send和recv原理剖析。HTTP 请求报文HTTP响应报文。静态Web服务器-返回指定页面数据静态Web服务器-多任务版。静态Web服务器-命令行启动动态绑定端口号html 的介绍。表单标签表单提交。css 属性JavaScript的介绍。操作标签元素属性数组及操作方法。选择集转移获取和设置元素内容。ajax数据库。命令行客户端MySQL的使用as和distinct关键字。聚合函数分组查询。数据库设计之三范式外键SQL语句的编写。创建表并给某个字段添加数据修改goods表结构。闭包闭包的使用。带有参数的装饰器类装饰器的使用。路由列表功能开发装饰器方式的添加路由。logging日志property属性。深拷贝和浅拷贝正则表达式的概述。匹配多个字符匹配开头和结尾。 全套笔记资料代码移步 前往gitee仓库查看 感兴趣的小伙伴可以自取哦欢迎大家点赞转发~ 全套教程部分目录 部分文件图片 TCP 网络应用程序开发流程 学习目标 能够知道TCP客户端程序的开发流程 1. TCP 网络应用程序开发流程的介绍 TCP 网络应用程序开发分为: TCP 客户端程序开发TCP 服务端程序开发 说明: 客户端程序是指运行在用户设备上的程序 服务端程序是指运行在服务器设备上的程序专门为客户端提供数据服务。 2. TCP 客户端程序开发流程的介绍 步骤说明: 创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字 3. TCP 服务端程序开发流程的介绍 步骤说明: 创建服务端端套接字对象绑定端口号设置监听等待接受客户端的连接请求接收数据发送数据关闭套接字 4. 小结 TCP 网络应用程序开发分为客户端程序开发和服务端程序开发。主动发起建立连接请求的是客户端程序等待接受连接请求的是服务端程序 TCP 客户端程序开发 学习目标 能够写出 TCP 客户端应用程序发送和接收消息 1. 开发 TCP 客户端程序开发步骤回顾 创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字 2. socket 类的介绍 导入 socket 模块import socket 创建客户端 socket 对象socket.socket(AddressFamily, Type) 参数说明: AddressFamily 表示IP地址类型, 分为IPv4和IPv6Type 表示传输协议类型 方法说明: connect((host, port)) 表示和服务端套接字建立连接, host是服务器ip地址port是应用程序的端口号send(data) 表示发送数据data是二进制数据recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度 3. TCP 客户端程序开发示例代码 import socketif __name__ __main__:# 创建tcp客户端套接字# 1. AF_INET表示ipv4# 2. SOCK_STREAM: tcp传输协议tcp_client_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 和服务端应用程序建立连接tcp_client_socket.connect((192.168.131.62, 8080))# 代码执行到此说明连接建立成功# 准备发送的数据send_data 你好服务端我是客户端小黑!.encode(gbk)# 发送数据tcp_client_socket.send(send_data)# 接收数据, 这次接收的数据最大字节数是1024recv_data tcp_client_socket.recv(1024)# 返回的直接是服务端程序发送的二进制数据print(recv_data)# 对数据进行解码recv_content recv_data.decode(gbk)print(接收服务端的数据为:, recv_content)# 关闭套接字tcp_client_socket.close()执行结果: bhello 接收服务端的数据为: hello说明 str.encode(编码格式) 表示把字符串编码成为二进制data.decode(编码格式) 表示把二进制解码成为字符串 网络调试助手充当服务端程序: 4. 小结 导入socket模块 创建TCP套接字‘socket’ 参数1: ‘AF_INET’, 表示IPv4地址类型 参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型 发送数据‘send’ 参数1: 要发送的二进制数据 注意: 字符串需要使用encode()方法进行编码 接收数据‘recv’ 参数1: 表示每次接收数据的大小单位是字节 关闭套接字‘socket’表示通信完成 TCP服务端程序开发 学习目标 能够写出TCP服务端应用程序接收和发送消息 1. 开发 TCP 服务端程序开发步骤回顾 创建服务端端套接字对象绑定端口号设置监听等待接受客户端的连接请求接收数据发送数据关闭套接字 2. socket 类的介绍 导入 socket 模块import socket 创建服务端 socket 对象socket.socket(AddressFamily, Type) 参数说明: AddressFamily 表示IP地址类型, 分为IPv4和IPv6Type 表示传输协议类型 方法说明: bind((host, port)) 表示绑定端口号, host 是 ip 地址port 是端口号ip 地址一般不指定表示本机的任何一个ip地址都可以。listen (backlog) 表示设置监听backlog参数表示最大等待建立连接的个数。accept() 表示等待接受客户端的连接请求send(data) 表示发送数据data 是二进制数据recv(buffersize) 表示接收数据, buffersize 是每次接收数据的长度 3. TCP 服务端程序开发示例代码 import socketif __name__ __main__:# 创建tcp服务端套接字tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用让程序退出端口号立即释放tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True) # 给程序绑定端口号tcp_server_socket.bind((, 8989))# 设置监听# 128:最大等待建立连接的个数 提示 目前是单任务的服务端同一时刻只能服务与一个客户端后续使用多任务能够让服务端同时服务与多个客户端# 不需要让客户端进行等待建立连接# listen后的这个套接字只负责接收客户端连接请求不能收发消息收发消息使用返回的这个新套接字来完成tcp_server_socket.listen(128)# 等待客户端建立连接的请求, 只有客户端和服务端建立连接成功代码才会解阻塞代码才能继续往下执行# 1. 专门和客户端通信的套接字 service_client_socket# 2. 客户端的ip地址和端口号 ip_portservice_client_socket, ip_port tcp_server_socket.accept()# 代码执行到此说明连接建立成功print(客户端的ip地址和端口号:, ip_port)# 接收客户端发送的数据, 这次接收数据的最大字节数是1024recv_data service_client_socket.recv(1024)# 获取数据的长度recv_data_length len(recv_data)print(接收数据的长度为:, recv_data_length)# 对二进制数据进行解码recv_content recv_data.decode(gbk)print(接收客户端的数据为:, recv_content)# 准备发送的数据send_data ok, 问题正在处理中....encode(gbk)# 发送数据给客户端service_client_socket.send(send_data)# 关闭服务与客户端的套接字 终止和客户端通信的服务service_client_socket.close()# 关闭服务端的套接字, 终止和客户端提供建立连接请求的服务tcp_server_socket.close()执行结果: 客户端的ip地址和端口号: (172.16.47.209, 52472) 接收数据的长度为: 5 接收客户端的数据为: hello说明: 当客户端和服务端建立连接后服务端程序退出后端口号不会立即释放需要等待大概1-2分钟。 解决办法有两种: 更换服务端端口号设置端口号复用(推荐大家使用)也就是说让服务端程序退出后端口号立即释放。 设置端口号复用的代码如下: # 参数1: 表示当前套接字# 参数2: 设置端口号复用选项# 参数3: 设置端口号复用选项对应的值tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)网络调试助手充当客户端程序: 4. 小结 导入socket模块 创建TCP套接字‘socket’ 参数1: ‘AF_INET’, 表示IPv4地址类型 参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型 绑定端口号‘bind’ 参数: 元组, 比如:(ip地址, 端口号) 设置监听‘listen’ 参数: 最大等待建立连接的个数 等待接受客户端的连接请求‘accept’ 发送数据‘send’ 参数: 要发送的二进制数据 注意: 字符串需要使用encode()方法进行编码 接收数据‘recv’ 参数: 表示每次接收数据的大小单位是字节注意: 解码成字符串使用decode()方法 关闭套接字‘socket’表示通信完成 TCP网络应用程序的注意点 学习目标 能够说出开发TCP网络应用程序的注意点 1. TCP网络应用程序的注意点介绍 当 TCP 客户端程序想要和 TCP 服务端程序进行通信的时候必须要先建立连接TCP 客户端程序一般不需要绑定端口号因为客户端是主动发起建立连接的。TCP 服务端程序必须绑定端口号否则客户端找不到这个 TCP 服务端程序。listen 后的套接字是被动套接字只负责接收新的客户端的连接请求不能收发消息。当 TCP 客户端程序和 TCP 服务端程序连接成功后 TCP 服务器端程序会产生一个新的套接字收发客户端消息使用该套接字。关闭 accept 返回的套接字意味着和这个客户端已经通信完毕。关闭 listen 后的套接字意味着服务端的套接字关闭了会导致新的客户端不能连接服务端但是之前已经接成功的客户端还能正常通信。当客户端的套接字调用 close 后服务器端的 recv 会解阻塞返回的数据长度为0服务端可以通过返回数据的长度来判断客户端是否已经下线反之服务端关闭套接字客户端的 recv 也会解阻塞返回的数据长度也为0。 未完待续 同学们请等待下一期 全套笔记资料代码移步 前往gitee仓库查看 感兴趣的小伙伴可以自取哦欢迎大家点赞转发~
http://www.zqtcl.cn/news/394531/

相关文章:

  • 厦门启明星网站建设学校网站模板 中文
  • 高端手机网站平台深圳网上申请个人营业执照
  • 沈阳怎么做网站西亚网站建设科技
  • 做外贸免费的网站有哪些专业简历制作
  • 园林景观设计网站推荐国内wordpress主题
  • 一流的免费网站建设摄影网站源码
  • 深圳高端网站设计公司怎样开发手机网站建设
  • 做网站需要用c语言吗新闻热点
  • 做网站需要交维护费么网站建设详细合同范本
  • 网站运营需要做什么静态网站作品
  • 如何做旅游休闲网站苍南做网站
  • wordpress jp theme关键词排名优化公司成都
  • Soho外贸常用网站wordpress下不了插件吗
  • 企业网站建设小技巧有哪些WordPress网站小程序
  • 公司招聘网站续费申请seo编辑是干什么的
  • 58同城泉州网站建设人工投票平台app
  • dede 网站地图 插件网站引导页flash
  • 聊城做网站的公司渠道网站总体结构
  • 北京比较大的网站建设公司wap网站引导页特效
  • 做关于植物的网站即墨网站设计
  • 怎么提升网站收录商品网页制作
  • 做网站建设的平台wordpress5.0发布
  • 站长工具a级查网站域名
  • 免费做网站电话手机开发者模式打开有什么影响
  • 上海免费网站建站模板毕节做网站优化
  • 影响网站建设的关键点手机网站制作app
  • 商务网站建设的流程深圳模板网站建设案例
  • 做中英文网站多少钱方维制网站
  • 做一个信息发布网站要多少钱开发小程序多少钱一个
  • 山东网站设计网站关键词设置技巧