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

网站建设谈客户说什么jquery网站

网站建设谈客户说什么,jquery网站,网站介绍流程,音乐网站怎么做外链基于Socket的聊天室Python开发一、Socket简述二、创建服务端Server2.1 创建服务端初始化2.2 监听客户端连接2.3 处理客户端消息三、创建客户端Client3.1 创建服务端初始化3.2 发送消息3.3 接收消息3.3 线程工作3.4 线程工作是不是挺好玩的呢#xff1f;也可以作为课程设计哦也可以作为课程设计哦如果需要源码可以关注我弓中皓查看历史文章。关注“测试开发自动化” 弓中皓获取更多学习内容 一、Socket简述 SOCKET它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定一台计算机可以接收其他计算机的数据也可以向其他计算机发送数据。 Socket的主要的工作模式如下 我们就用上面的模式来开发一个聊天室工具主要的开发模块包括两部分 客户端开发服务端开发 可以部署在同一电脑上由于我只有一台电脑所以我将服务端和客户端都部署在了我自己的电脑上。你也可以部署在同一局域网的不同电脑上或使用其他的不同服务器进行部署效果展示 如果你们公司的网络是不允许接入互联网的那么你可以偷偷做一个局域网内的聊天小软件用于你跟心爱的女孩子之间聊天。哈哈哈哈。。 二、创建服务端Server 创建服务端的流程大致可以分为以下几个步骤 1创建客户端套接字(socket)对象 2绑定IP地址和端口号 3设置监听 4等待接受客户端的连接请求 5接受数据 6发送数据 7关闭客户端套接字(socket) 2.1 创建服务端初始化 该部分主要用于初始化服务端创建一个Severt类它不断监听客户端的发送的请求。 class Server:def __init__(self):self.server socket.socket() # 创建客户端套接字(socket)对象self.server.bind((192.168.20.164, 8989)) # 绑定IP地址和端口号self.server.listen(15) # 设置监听 15表示服务端等待排队连接的最大数量self.clients [] # 用于存放客户端的响应信息self.clients_name_ip {} # 用与存放客户端名称与IPself.get_conn() # 监听客户端连接2.2 监听客户端连接 通过设置一个死循环 让我们的服务端不断处于监听客户端的连接请求。一旦客户端发起一个连接请求accept()方法会返回当前连接的客户端的socket连接对象和IP地址。 通过 print(cilent)可以看到 socket.socket fd460, familyAddressFamily.AF_INET, typeSocketKind.SOCK_STREAM, proto0, laddr(192.168.20.164, 8989), raddr(192.168.20.164, 59239)此时服务器会向客户端输入一条信息data服务端需要将该信息编码encode发送给客户端。同时客户端接收到该信息后需要将其节码才能转为我们可以识别的内容。 def get_conn(self):while True:client, address self.server.accept() # 等待接收连接请求print(IP为{}的使用者正在请求连接。.format(address))data 与服务器链接成功请输入昵称才可以聊天client.send(data.encode()) # server与client通信send() decodeself.clients.append(client) # 链接用户添加到服务器的用户列表Thread(targetself.get_msg, args(client, self.clients,self.clients_name_ip, address)).start()2.3 处理客户端消息 为将发送的名称与IP进行绑定需要将客户端发送的用户名内容解码追加到clients_name_ip参数中。此时一旦客户端发来连接请求并输入了昵称那么昵称就会被解码存储在name变量中。 此时服务端开始循环监听该客户端的消息。并且不断将客户端发来的消息进行解码。并将消息通过for循环的形式重新编码发送给所有的客户端。 另外如果检测到客户端发来的消息是一个Q字符那么客户端就会被关闭。 def get_msg(self, client, clients, clients_name_ip, address):name client.recv(1024).decode() # 接受客户端发来的昵称print(昵称:【{}】 设置成功.format(name))clients_name_ip[address] name # 昵称与IP进行绑定while True: # 循环监听客户端消息try:recv_data client.recv(1024).decode()except Exception as e:self.close_client(client, address)break# 入如果用户输入Q推出if recv_data.upper() Q:self.close_client(client, address)breakfor c in clients:c.send((clients_name_ip[address] time.strftime(%x)\nrecv_data).encode())三、创建客户端Client 创建客户端的流程大致可以分为以下几个步骤 1创建客户端套接字(socket)对象 2和服务器端套接字(socket)建立连接 3发送数据 4接受数据 5关闭客户端套接字(socket) 3.1 创建服务端初始化 客户端采用PyQT5将客户端做成界面的形式进行交互。这里不对PyQT5做过多的解释。此处讲解使用的PyQT5比较简单重点对服务端socket开发进行讲解。 首先创建客户端socket对象并连接服务器端口并开启工作线程。 class Client(QWidget):def __init__(self):super(Client, self).__init__()self.setGeometry(600, 300, 360, 300)self.setWindowTitle(聊天室)self.add_ui() # 界面UI这个跟socket无关self.client socket.socket() # 与服务器链接self.client.connect((127.0.0.1, 8989))self.work_thread() # 调用线程3.2 发送消息 发送消息通过的是用户点击发送按钮点击发送按钮以后QT会以信号的形式触发执行send_msg函数。至此消息会被解码发送给服务器如果检测到发送消息是字符‘Q’那么客户端会被退出。 def btn_send(self): # 发送按钮点击信号发射self.button.clicked.connect(self.send_msg) def send_msg(self): # 检测到发送按钮点击该客户端就会向服务端发送数据msg self.message.text()self.client.send(msg.encode())if msg.upper() Q:self.client.close()self.destroy()self.message.clear()3.3 接收消息 通过接收消息将接收后的消息解码通过append的形式追加到QT的控件中用于在界面中显示 def recv_msg(self):while True:try:data self.client.recv(1024).decode()print(data)data data \nself.content.append(data)except:exit()3.3 线程工作 通过调用该方法来启动发送消息线程、接收消息线程。 def work_thread(self):Thread(targetself.btn_send).start() # 发送消息Thread(targetself.recv_msg).start() 3.4 线程工作 第一步启动服务器Server 第二步启动一个Client (pycharm) 第三步再启动一个Client (cmd) 是不是挺好玩的呢也可以作为课程设计哦如果需要源码可以关注我弓中皓查看历史文章。 关注“测试开发自动化” 弓中皓获取更多学习内容
http://www.hkea.cn/news/14448930/

相关文章:

  • 网站开通微信支付收费企业微信app下载安装官方最新版
  • 分布式加载网站的静态做网站虚拟主机好还是
  • 浙里建官方网站初中学校网站如何做
  • 厦门外贸网站建设百度上广告怎么搞上去的
  • 做第三方网站注意什么晋中学院教务网络管理系统
  • 东阳市网站建设制作wordpress首个段落摘要
  • 网站建设需要掌握什么技术自己做广告用什么软件
  • 部队网站建设方案wppay wordpress
  • 如何网站客户案例微信运营有前途吗
  • 建工教育网校官方网站wordpress配置微信支付
  • 怎么才能建设免费网站网站的基本要素
  • 城市建设网站aqq手机app定制开发公司
  • 网站建设需要什么呢品牌营销策略四种类型
  • 高端建站神器外贸自建站多久能出单
  • 手机建站平台淘客深圳保障性住房申请
  • 制作企业网站页面html郴州信息港最新招聘信息
  • html5网站素材装修设计图网站排名
  • aspit网站源码带手机版简单的管理系统有哪些
  • 网站首页的导航栏网站建设的地方
  • 品牌网站设计工作室网站建设上海哪家公司好
  • 石家庄做手机网站建设促销方案
  • 网站备份还原设计接单
  • 怎么设置自己做的网站吗哈尔滨网站建设推广
  • 做房地产公司网站的费用郑州企业网站优化排名
  • 濮阳网站怎么做seo企业网页制作要注意什么
  • 电商网站的建设与运营自己做的网站怎么才能被收录
  • python做网站快吗那个做网站好
  • 做营销型网站的公司移动开发的现状和前景
  • php网站开发招招聘沈阳小装修公司哪家好
  • 大气集团网站源码深圳网站建设力荐上榜网络