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

门户网站建设公司咨询乐清网站建设推广

门户网站建设公司咨询,乐清网站建设推广,打开app登录,垫江网站开发djrckj前言 用简洁的语言写一个可以与TCP客户端实时通信的界面。之前做了一个项目是要与PLC进行信息交互的界面#xff0c;在测试的时候就利用TCP客户端来实验#xff0c;文末会附上TCP客户端。本文分为三部分#xff0c;第一部分是在界面向TCP发送数据#xff0c;第二部分是接收…前言 用简洁的语言写一个可以与TCP客户端实时通信的界面。之前做了一个项目是要与PLC进行信息交互的界面在测试的时候就利用TCP客户端来实验文末会附上TCP客户端。本文分为三部分第一部分是在界面向TCP发送数据第二部分是接收TCP发送过来的数据需要开启线程(因为界面是在不断刷新的所以不开线程一直等待PLC发送数据过来界面是会卡住的)。 一、向TCP客户端发送数据 1.导入相关库 import socket #TCP from tkinter import *2.定义向TCP发送数据的函数 message_text 是通过文本框输入的内容需要利用.get()来获取这个涉及到Entery组件的方法详见我之前写过的文章 # 向TCP服务端发送数据 def senddata(send_message):message_text send_message.get() #获取文本内容socket_client.send(message_text.encode()) #发送3.创建TCP客户端 注意其中的’127.0.0.1’是要与TCP客户端通信的IP地址两边需要一致2001是端口也需要一致。 # 创建socket客户端变量 socket_client # 创建全局变量 global command socket_client socket.socket() #创建一个客户端对象 socket_client.connect((127.0.0.1, 2001)) #设置IP地址及端口4.主界面的程序 创建一个top对象界面放置文本框接收用户输入的信息按下“发送”按钮后执行发送函数 # 主界面程序 top Tk() top.title(聊天窗口) # 窗口标题 top.geometry(500x500) # 窗口尺寸 top.configure(bg LightGreen) # 窗口背景颜色 #发送窗口 Label(top ,text 发送窗口 , font (微软雅黑,12), bg LightGreen).place(x 50,y 370) send_message Entry(top,width45) #文本输入框 send_message.place(x50 , y400) #摆放位置 Button(top,text 发送,font (黑体,12), command lambda: senddata(send_message)).place(x 400,y 395) #发送按钮 top.mainloop() # 消息循环5.实现效果 记得要修改TCP客户端对应的IP和端口然后打开开关不能发送中文会乱码 二、开线程接收TCP发过来的数据 我们继续在上述程序中增加接收信息的函数。因为要等待接收信息需要所以要另外开启一个线程防止一直等待 1.导入threading线程库 import socket import threading from tkinter import *2.定义等待TCP发送来过数据的函数receive # 等待TCP服务端发送信息 def receive():while 1:command socket_client.recv(1024).decode() #接收canvas.create_text(10,10,text command,fill #7CCD7C,anchor W,font (微软雅黑,12)) #把接收的信息文本放在画布3.主程序开启线程 这里我是放在创建top界面对象之前的。后面会有完整程序 # 创建socket客户端变量 socket_client # 创建全局变量 global command socket_client socket.socket() socket_client.connect((127.0.0.1, 2001))# 开启线程用于接收receive更新到界面 thread threading.Thread(targetreceive) #receive函数 thread.daemon True thread.start() #启动线程 # 主界面程序 top Tk() top.title(聊天窗口) # 窗口标题 top.geometry(500x500) # 窗口尺寸 top.configure(bg LightGreen) # 窗口背景颜色4.设置画布接收信息 在主界面增加一个画布用于接收从TCP客户端发送过来的信息。画布的创建可以看这里我之前写过写过的文章 #接收聊天信息的界面 Label(top ,text 接收窗口 , font (微软雅黑,12), bg LightGreen).place(x 50,y 20) canvas Canvas(top,width400,height300,bgwhite) #创建画布 canvas.place(x50 , y50) 5.实现效果 这样就完成了TCP客户端相互通信的程序但是上述程序只是完成简单收发可以看到TCP发送多次过来画布上的文字信息是会重叠在第一行的完整程序看最后。 三、完整的程序 import socket import threading from tkinter import *# 向TCP服务端发送数据 def senddata(send_message):message_text send_message.get() #获取文本内容socket_client.send(message_text.encode()) #发送 # 等待TCP服务端发送信息 def receive():k 10 #文字在画布中初始高度while 1:command socket_client.recv(1024).decode() #接收if k 300:#canvas文本方法中的10是横坐标k是纵坐标k是一直在往下变化的canvas.create_text(10,k,text command,fill #7CCD7C,anchor W,font (微软雅黑,12)) k k20 #每一行增加20个单位往下显示else:k 10 #直到满屏后重回初始单位canvas.delete(all) #写满之后清屏# 创建socket客户端变量 socket_client # 创建全局变量 global command socket_client socket.socket() socket_client.connect((127.0.0.1, 2001))# 开启线程用于接收receive更新到界面 thread threading.Thread(targetreceive) #receive函数 thread.daemon True thread.start() #启动线程 # 主界面程序 top Tk() top.title(聊天窗口) # 窗口标题 top.geometry(500x500) # 窗口尺寸 top.configure(bg LightGreen) # 窗口背景颜色#接收聊天信息的界面组件 Label(top ,text 接收窗口 , font (微软雅黑,12), bg LightGreen).place(x 50,y 20) canvas Canvas(top,width400,height300,bgwhite) #创建画布 canvas.place(x50 , y50)#发送窗口的组件 Label(top ,text 发送窗口 , font (微软雅黑,12), bg LightGreen).place(x 50,y 370) send_message Entry(top,width45) #文本输入框 send_message.place(x50 , y400) Button(top,text 发送,font (黑体,12),width 7 , height 1, command lambda: senddata(send_message)).place(x 400,y 395) #发送按钮top.mainloop() # 消息循环 以上就是关于tkinter界面发送信息给TCP客户端及tkinter开启线程接收信息的方法。附件是TCP客户端软件网络调试助手 密码lyx4
http://www.dnsts.com.cn/news/94966.html

相关文章:

  • 查询类网站用什么做长沙公司建
  • 洛阳 网站建设公司专做教育网站拿站
  • wordpress时光轴插件关键词排名优化网站建设公司哪家好
  • 重庆网站建设坤思特前段模板的网站
  • 网站后台登陆验证码不显示微网站建设合同
  • 产品网站设计论文乐视网站建设目标
  • 文昌湖城乡建设局网站网站建设前景展望
  • 坪山附近公司做网站建设哪家技术好那个网站seo做的好的
  • 网站建设要购买服务器吗申请自媒体平台注册
  • 中国建设工程招标官方网站网站开发时图片加载慢怎么解决
  • 东莞百度提升优化seo整站优化网站建设
  • 天津市建设工程管理总队网站wordpress做支付宝小程序
  • 深泽网站制作重庆娱乐公司
  • 网站开发专业天蝎做网站建网站
  • 国外自助建站免费建站平台可免费下载的ppt模板
  • 联谊会总结网站建设对外宣传成都企业如何建网站
  • 管理系统门户网站开发路线wordpress主题免费中文
  • 可以找题目做的网站石家庄seo培训
  • 给企业做网站如何定价淘客网站怎么备案
  • 厦门网站建设哪好在线生成印章
  • asp网站建设类论文优化网站要多少钱
  • 艺术网站建设模板西安软件开发公司
  • 农业建设公司网站少儿编程加盟品牌排行榜
  • 公司logo查询网站网页源代码翻译器
  • 工信部网站备案网站建设医药
  • 阿里云服务的官方网站泰安公司
  • 可以做彩票网站的工作室分类信息网址导航
  • 人力资源招聘网站建设方案专业的营销型网站定制
  • 简单网站开发实例总结海口今天最新通知
  • 定远建设小学网站显示网站运行时间代码