python插排_PythonTkinter接收插座不接收
我试图用pythonttkinter制作一个聊天程序,但是我的recv函数recvMSG()要么没有接收到任何东西,要么就是不打印任何东西。在
你能帮我解决接收问题吗?你想怎么改就怎么改。在from Tkinter import *
import easygui
import socket
import threading
msgscount = 1
setup = False
def makeServer():
global tcpclisock
host = ''
port = easygui.integerbox(msg='Enter a port...', title='Port', argUpperBound=100000)
buffsize = 1024
addr = (host, port)
setup = True
tcpsersock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpsersock.bind(addr)
tcpsersock.listen(5)
tcpclisock, addr = tcpsersock.accept()
easygui.msgbox(msg=('Connected from: ', addr), title='Connected')
def connectServer():
global tcpclisock
setup = True
host = easygui.choicebox(msg='Choose a host...', title='Choose Host', choices=('localhost'),buttons=('Select'))
port = easygui.integerbox(msg='Enter a port...', title='Port', argUpperBound=100000)
buffsize = 1024
addr = (host, port)
tcpclisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpclisock.connect(addr)
def sendMSG():
global msgscount, tcpclisock
try:
msgs.insert(msgscount, ">>" + msg.get())
data = msg.get()
msg.delete(0,END)
msgscount += 1
tcpclisock.send(data)
except:
easygui.msgbox(msg='You need to connect to a server.', title='Error')
def recvMSG():
global msgscount,tcpclisock
if setup == True:
datar = tcpclisock.recv(buffsize)
msgs.insert(msgscount, datar)
msgscount += 1
top.after(1000, recvMSG)
else:
answ = easygui.buttonbox(msg='Please join or create a server', title='Server', choices=("Create", 'Join'))
if answ == "Create":
makeServer()
else:
connectServer()
top = Tk()
top.geometry('640x650')
msgs = Listbox(top, width=105, height=43)
msgs.pack()
msg = Entry(top, bd=2, width=60, font='Arial 12 bold')
msg.pack(side=LEFT)
sendbtn = Button(top, text='Send', font='Arial 15 bold',width=15, padx=5, pady=5,command=runSendMSG)
sendbtn.pack(side=RIGHT)
menubar = Menu(top)
servermenu = Menu(menubar, tearoff=0)
servermenu.add_command(label="Create Server", command=makeServer)
servermenu.add_command(label="Join Server", command=connectServer)
menubar.add_cascade(label='Server', menu=servermenu)
top.config(menu=menubar)
top.after(5000, recvMSG)
mainloop()
python插排_PythonTkinter接收插座不接收相关推荐
- 插座问题:体育馆要举办一场程序设计竞赛的现场赛,需要接入电子设备,而体育馆内的墙上只有一个三孔插座可供使用。现在组委会需要购买一批插排,使得全部用电器都能通电,想让你帮忙算算至少需要购买多少插排?
问题描述 体育馆内要举办一场程序设计竞赛的现场赛,需要接入服务器.路由器.打印机.电脑等电子设备(假定所有用电器的插头都是三头的).而体育馆内的墙上只有一个三孔插座可供使用.现在组委会需要购买一批插排 ...
- 新国标插座插排究竟有哪些规定?盘点那些被我们忽略的安全知识
1.引言 随着生产水平.科学技术的不断发展,我们生活中的电子设备.家用电器的数量不断增多,很多电子产品从过去的奢侈品如今悄然变成生活的必需品,产品更新迭代速度越来越快,所需功耗不断提升,因此对供电电源 ...
- 【IoT】交互式智能多功能插排设计
介绍 通过对红外遥感技术.GSM远程控制技术等研究,开发设计了交互式智能多功能插排,可以实现多通道分离远程与近程定时功能.设计的"近距离红外遥控系统",在规定的空间距离范围内,可以 ...
- 企业微信 接收消息服务器,接收消息与事件
[TOC] 关于接收消息 为了能够让自建应用和企业微信进行双向通信,企业可以在应用的管理后台开启接收消息模式. 开启接收消息模式的企业,需要提供可用的接收消息服务器URL. 开启接收消息模式后,用户在 ...
- 一个插排引发的设计思想 (一) 观察者模式
一个插排引发的设计思想 (一) 观察者模式 一个插排引发的设计思想 (二) 抽象类与接口 一个插排引发的设计思想 (三) 委托与事件 ...待续.... 不知道聊到设计模式, 经常给人两种感觉: 1 ...
- 普通家电秒变智能,同为(TOWE)智能联动节能插排APZ-1014UMC3
如今,随着物联网的快速发展,智能家居的概念越来越深入人心,家中大小物件.电器都能与智能发生美妙的联系,比如桌面PDU插排也开始逐渐智能化.便捷化.同为科技(TOWE)是国内一家PDU行业的开创者和领导 ...
- 某程序员揭秘“开水团”大厂真实福利:工位拥挤,没有食堂!公司防员工跟防贼一样,特别是纸巾和插排都粘到桌子上!...
坊间都说美团福利差,差到只提供白开水,还因此喜提了"开水团"美称.但美团好歹也是个互联网大厂,它的福利待遇真有传说中那么不靠谱吗?不少人对此存疑,觉得可能有所夸张. 百闻不如一见, ...
- 一个插排引发的设计思想 (三) 委托与事件
一个插排引发的设计思想 (一) 观察者模式 一个插排引发的设计思想 (二) 抽象类与接口 一个插排引发的设计思想 (三) 委托与事件 ...待续.... 前两篇文章循序渐进的介绍了观察者模式.抽象类和 ...
- python 插补数据_python 2020中缺少数据插补技术的快速指南
python 插补数据 Most machine learning algorithms expect complete and clean noise-free datasets, unfortun ...
- 【牛客 - 157D】插排树(dfs,树形dp)
题干: 链接:https://ac.nowcoder.com/acm/contest/157/D 来源:牛客网 一年一度的山东省oi夏令营又开始了,每到这个季节,山东的oier们都会欢聚这里,一起学( ...
最新文章
- 2021年大数据Hadoop(一):​​​​​​​Hadoop介绍
- 全民K歌直播推荐算法实践
- eclipse自定义快捷键
- tomcat、腾讯云主机和微信
- Thymeleaf页面级联属性
- vim插件自动补齐_给VIM添加REPL
- 多线程条件通行工具——Semaphore
- Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法
- 什么是Mybatis配置解析?(源码+图文)
- 三元操作符(即条件表达式)
- inDesign入门教程,如何对齐和分组内容?
- 偶极子天线馈电及倒V天线
- 3.关于python函数,以及作用域,递归等知识点
- 13异步多线程(三)Parallel,线程安全
- 【Arduino】VC0706(中星微串口摄像头)
- Java 生成微信群头像 九宫格头像
- c++ notes (very basic)
- cmd中连接雷电模拟器时报错adb device not found
- OpenGL ES总结(一)OpenGL 初识
- Android技术的网址资源集合,此贴不定期更新