我猜我需要做线程,但在我教自己一些不好的做法之前,我想确保我以正确的方式去做。
基本上我有一个“聊天”应用程序,可以告诉它监听或 ping 收件人的 ip 地址:端口(在我目前的情况下只是 127.0.0.1:1300)。当我打开我的应用程序两次(第一个监听,第二个发送 ping)时,我选择一个并告诉它监听(这是一个 While 语句,它一直在监听直到它收到一个 ping 消息)和另一个会ping通它。它很有效!
问题是当我单击“侦听 ping”按钮时,它将进入胶合“向下”模式并“视觉”冻结,但是它将 UDP 数据包消息打印到控制台,所以我知道它实际上并没有被冻结。所以我的问题是如何制作它,以便我可以单击“收听”按钮并让它“收听”,同时有一个“工作”取消按钮,以便用户可以取消该过程,如果它花费的时间太长?