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

怎么自己做个免费网站wordpress 博主

怎么自己做个免费网站,wordpress 博主,05网英语书,宁德小程序开发网络编程 Socket(套接字) socket 位于 网络协议中的 数据传输层、 该层 主要 可以通过 UDP 或者 TCP协议 实现 数据的传输 TCP 协议 VS UDP协议 tcp : 是一个 可靠的 #xff0c;面向 连接的协议。 数据在网络传输中 是安全的#xff0c;不易丢失的。 TCP连接 在建立的时候面向 连接的协议。 数据在网络传输中 是安全的不易丢失的。 TCP连接 在建立的时候需要 经过 3次握手才能成功、 在断开连接的时候需要经过 4次挥手 才能断开。udp : 是一个 不可靠的连接 、在 数据传输中 可以会出现数据丢失的问题 。传输速度比 TCP 快。 TCP 的三次握手 四次挥手 TCP 服务端代码编写 编写服务端代码的步骤 a) 创建一个 套接字对象 b) 绑定 主机IP地址 和 端口 端口号的取值范围是 0 ~ 65535 不建议自己使用 四位数一下的端口 c) 监听 客户端的 连接 和 端口 d) 如果有客户端和服务器建立 链接、 则监听 客户端发送的消息。 f) 服务端 向 客户端 发送 消息 、 g) 断开与客户端的连接。 import socketif __name__ __main__:# 1. 创建一个套接字对象# family : 采用那种模式连接服务器 推荐使用 AF_INET (采用端口号)# type : 采用 什么协议 SOCK_STREAM (TCP协议), SOCK_DGRAM (UDP协议)socket_server socket.socket(familysocket.AF_INET, typesocket.SOCK_STREAM)# 2. 绑定主机和端口号, 主机是一个字符串端口号必须是一个数字# 主机: a) 可以使用电脑IP地址 b) 可以使用 localhost 或者 127.0.0.1, c) 0.0.0.0 (开放本机IP地址)socket_server.bind((192.168.17.22, 8888))# 3. 设置 服务器监听 客户端的 连接数socket_server.listen(5)# 4. 监听客户端while True:# 被动等待客户端的连接 accept 会阻塞程序的执行。# 返回 和 客户端的 conn连接通道, addr 是 客户端的IP地址和连接的端口号conn, addr socket_server.accept()# 5. 接收客户端发送的数据 (字符串流)、需要传递一个参数指定接收的字节数msg conn.recv(1024).decode()# 打印消息print(f{addr}客户端发送的消息是{msg})# 6. 向客户端发送消息conn.send(hello 客户端.encode())# 7. 断开连接conn.close() TCP 客户端代码编写 import socket# 1. 创建一个 套接字 对象 sc socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2. 连接 TCP 服务器 sc.connect((192.168.17.22, 8888))# 3. 发送消息给 服务器 sc.send(Hello World.encode())# 4. 接收 服务器 给的消息 data sc.recv(1024).decode()print(服务器发送的消息是, data)# 5. 断开连接 sc.close()客户端与客户端聊天 服务端代码 import socket import threading import re import jsondef forward_message(conn: socket.socket, client_mapping: dict):转发消息while True:# 获取消息message conn.recv(1024 * 8).decode(utf-8)# 如果这个消息是一个纯数字说明是客户端第一次向服务器表明身份if re.fullmatch(r\d, message):# 将身份信息 和 通道 写入到 字典中client_mapping[message] connprint(f客户端{message}上线了...)else:# 如果服务器传入的不是数字、那么一定是一个字典格式的字符串dct json.loads(message) # {to:1111, text:xxx, from: 2222}# 从 client_mapping 中 查找 键为 dct[to] 的 通道sc: socket.socket client_mapping.get(dct[to])# 如果 找不到 sc 说明 好友没上线if sc is None:# 给 发消息的人 返回 一个 好友不在线的 提醒conn.send(404.encode(utf-8))else:# 使用 sc 通道、将 message 转发给 好友,这行代码有可能会报错sc.send(message.encode(utf-8))if __name__ __main__:# 创建一个聊天服务器socket_server socket.socket()# 绑定 主机和端口socket_server.bind((0.0.0.0, 9999))# 监听客户端连接数量socket_server.listen(5)# 定义一个字典 用来 存储所有的客户端信息client_mapping {}# 编写一个 while 死循环、被动等待所有客户端的连接while True:# 获取 客户端的连接conn, addr socket_server.accept()# 每来一个客户端开启一个线程负责转发该客户端的消息threading.Thread(targetforward_message, args(conn, client_mapping)).start() 客户端 聊天类 编写 import socket import threading import jsonclass QQChat:def __init__(self, account):初始化 QQ账号self.__qq account# 初始化 socket客户端socket_client socket.socket()# 连接 QQ服务器socket_client.connect((192.168.17.22, 9999))# 将 socket_client 作为 对象的属性self.__socket_client socket_client# 向服务器发送消息、表明当前是哪一个客户端登录了self.__socket_client.send(account.encode(utf-8))def chat(self, friend):给指定的好友进行聊天# 定义一个线程 负责 接收 消息threading.Thread(targetself.__read_message, args(friend,)).start()# 定义一个线程 负责 发送 消息threading.Thread(targetself.__send_message, args(friend,)).start()def __read_message(self, friend):负责 读取消息while True:message self.__socket_client.recv(1024 * 8).decode(utf-8)# 直接对消息做反序列化data json.loads(message)if data 404:print(f好友{friend}不在线)else:# 一定是一个字典、且字典中包含 谁发的消息# if data[from] friend:# 获取好友发送的消息print(f{friend}:{data[text]})# else:# # 如果不是当前聊天的好友# print(您有一条其他好友发送的消息、已被忽略)def __send_message(self, friend):负责发送消息while True:# 尝试从键盘获取数据message input()# 发送消息给 好友data {text: message, to: friend, from: self.__qq}# 将数据进行 JSON序列化message json.dumps(data)self.__socket_client.send(message.encode(utf-8))if __name__ __main__:account input(请输入您的仿QQ账号)# 登录 仿QQ服务器qq_client client.QQChat(account)friend input(请输入聊天用户的仿QQ账号)# 选择好友聊天qq_client.chat(friend)
http://www.hkea.cn/news/14258115/

相关文章:

  • 如何在国外网站开发新客人在线 建站单页面网站带后台
  • 装修网站怎么做的好处怎样用eclipse做网站
  • 滁州市建设工程管理处网站网站开发设计选题背景
  • 石家庄网站建设wsjz手机网站大全观看
  • 市政浙江建设培训中心网站网站挣钱方式
  • 网站开发阶段流程图阿里云wordpress优化
  • 网站开发团队工作总结网站制作公司站建设
  • 别人做的网站如何要回服务器wordpress 快速编辑
  • 做网站需要的图片大小wordpress图片管理插件
  • 专做洗衣柜的网站做网站的外包公司
  • 网站后台 英语一个域名怎么做多个网站
  • 技术支持 嘉兴网站建设线上营销技巧和营销方法
  • 芭乐站长统计 网站统计网站开发设计合同范本
  • 广州网站建设开发团队wordpress修改logo
  • 网站后端开发语言图书页面设计模板
  • 设计网页的快捷网站网站怎么做收录
  • 有免费搭建app的网站吗3天引流800个人技巧
  • 免费的高清视频素材网站搜索网站logo怎么做
  • 蓬莱有做网站的吗菏泽做网站推广
  • 网站如何做淘宝客wordpress js加速
  • 宜春招聘网站开发区招工oa系统的功能和作用
  • 做视频招标的网站有哪些青岛科技街网站建设
  • 网站换模板电力网站建设
  • 婚恋网站应聘做销售上杭网站开发
  • 做汽车的网站编辑如何建设免费网站视频
  • 金华网站建设团队wordpress搬家缩略图都没
  • 常州市建设银行网站做网站拉广告
  • 郑州网站制作多少钱建设网站 注册与登陆
  • pc网站向手机站传递权重腾讯企业邮箱免费登录入口
  • 小刘网站建设wordpress怎么可视化构建页面