我试图用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. 插座问题:体育馆要举办一场程序设计竞赛的现场赛,需要接入电子设备,而体育馆内的墙上只有一个三孔插座可供使用。现在组委会需要购买一批插排,使得全部用电器都能通电,想让你帮忙算算至少需要购买多少插排?

    问题描述 体育馆内要举办一场程序设计竞赛的现场赛,需要接入服务器.路由器.打印机.电脑等电子设备(假定所有用电器的插头都是三头的).而体育馆内的墙上只有一个三孔插座可供使用.现在组委会需要购买一批插排 ...

  2. 新国标插座插排究竟有哪些规定?盘点那些被我们忽略的安全知识

    1.引言 随着生产水平.科学技术的不断发展,我们生活中的电子设备.家用电器的数量不断增多,很多电子产品从过去的奢侈品如今悄然变成生活的必需品,产品更新迭代速度越来越快,所需功耗不断提升,因此对供电电源 ...

  3. 【IoT】交互式智能多功能插排设计

    介绍 通过对红外遥感技术.GSM远程控制技术等研究,开发设计了交互式智能多功能插排,可以实现多通道分离远程与近程定时功能.设计的"近距离红外遥控系统",在规定的空间距离范围内,可以 ...

  4. 企业微信 接收消息服务器,接收消息与事件

    [TOC] 关于接收消息 为了能够让自建应用和企业微信进行双向通信,企业可以在应用的管理后台开启接收消息模式. 开启接收消息模式的企业,需要提供可用的接收消息服务器URL. 开启接收消息模式后,用户在 ...

  5. 一个插排引发的设计思想 (一) 观察者模式

    一个插排引发的设计思想 (一) 观察者模式 一个插排引发的设计思想 (二) 抽象类与接口 一个插排引发的设计思想 (三) 委托与事件 ...待续.... 不知道聊到设计模式,  经常给人两种感觉: 1 ...

  6. 普通家电秒变智能,同为(TOWE)智能联动节能插排APZ-1014UMC3

    如今,随着物联网的快速发展,智能家居的概念越来越深入人心,家中大小物件.电器都能与智能发生美妙的联系,比如桌面PDU插排也开始逐渐智能化.便捷化.同为科技(TOWE)是国内一家PDU行业的开创者和领导 ...

  7. 某程序员揭秘“开水团”大厂真实福利:工位拥挤,没有食堂!公司防员工跟防贼一样,特别是纸巾和插排都粘到桌子上!...

    坊间都说美团福利差,差到只提供白开水,还因此喜提了"开水团"美称.但美团好歹也是个互联网大厂,它的福利待遇真有传说中那么不靠谱吗?不少人对此存疑,觉得可能有所夸张. 百闻不如一见, ...

  8. 一个插排引发的设计思想 (三) 委托与事件

    一个插排引发的设计思想 (一) 观察者模式 一个插排引发的设计思想 (二) 抽象类与接口 一个插排引发的设计思想 (三) 委托与事件 ...待续.... 前两篇文章循序渐进的介绍了观察者模式.抽象类和 ...

  9. python 插补数据_python 2020中缺少数据插补技术的快速指南

    python 插补数据 Most machine learning algorithms expect complete and clean noise-free datasets, unfortun ...

  10. 【牛客 - 157D】插排树(dfs,树形dp)

    题干: 链接:https://ac.nowcoder.com/acm/contest/157/D 来源:牛客网 一年一度的山东省oi夏令营又开始了,每到这个季节,山东的oier们都会欢聚这里,一起学( ...

最新文章

  1. 2021年大数据Hadoop(一):​​​​​​​Hadoop介绍
  2. 全民K歌直播推荐算法实践
  3. eclipse自定义快捷键
  4. tomcat、腾讯云主机和微信
  5. Thymeleaf页面级联属性
  6. vim插件自动补齐_给VIM添加REPL
  7. 多线程条件通行工具——Semaphore
  8. Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法
  9. 什么是Mybatis配置解析?(源码+图文)
  10. 三元操作符(即条件表达式)
  11. inDesign入门教程,如何对齐和分组内容?
  12. 偶极子天线馈电及倒V天线
  13. 3.关于python函数,以及作用域,递归等知识点
  14. 13异步多线程(三)Parallel,线程安全
  15. 【Arduino】VC0706(中星微串口摄像头)
  16. Java 生成微信群头像 九宫格头像
  17. c++ notes (very basic)
  18. cmd中连接雷电模拟器时报错adb device not found
  19. OpenGL ES总结(一)OpenGL 初识
  20. Android技术的网址资源集合,此贴不定期更新

热门文章

  1. 【转】进程死锁及解决方法
  2. 一些小程序的练习(一)
  3. HTTP API 设计指南(响应部分)
  4. 编译安装LAMP平台
  5. 两个json对象合并为一个json对象
  6. 使用Google zxing生成二维码
  7. SpringMVC:学习笔记(2)——RequestMapping及请求映射
  8. android原生browser分析(一)--Application
  9. 算法面试:精选微软经典的算法面试100题(第21-25题)
  10. 牛顿法为什么比梯度下降法求解需要的迭代次数更少?