社区
Eclipse
帖子详情
有精通socket通信的大神吗?求助!!!!!
钱某
2017-05-25 05:31:35
我用java swing做了一个游戏在Eclipse里面运行,想实现一个玩家交流功能,我编写好了双向通信的代码,运行ok的,再把这个方法添加到游戏的“聊天室”按钮上,
问题来了
:通过游戏聊天室按钮点击,出现聊天框之后输入不进去文字,也关闭不了窗口,不知道怎么回事。ps(本来单独运行游戏可以关闭窗口,点击任何界面上的按钮;单独运行聊天框也可以点击关闭按钮并且聊天,但是两个一组合起来就不行了,游戏界面按钮全部点不到,也不能聊天,不能关闭)
新人求助!!!
...全文
836
3
打赏
收藏
有精通socket通信的大神吗?求助!!!!!
我用java swing做了一个游戏在Eclipse里面运行,想实现一个玩家交流功能,我编写好了双向通信的代码,运行ok的,再把这个方法添加到游戏的“聊天室”按钮上,问题来了:通过游戏聊天室按钮点击,出现聊天框之后输入不进去文字,也关闭不了窗口,不知道怎么回事。ps(本来单独运行游戏可以关闭窗口,点击任何界面上的按钮;单独运行聊天框也可以点击关闭按钮并且聊天,但是两个一组合起来就不行了,游戏界面按钮全部点不到,也不能聊天,不能关闭) 新人求助!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
钱某
2018-01-23
打赏
举报
回复
谢谢了,问题已解决!
爱摸鱼de老邪
2017-05-25
打赏
举报
回复
跟socket通信无关,你把所有的事情都放在Swing线程里去做了,耗时的操作会使Swing界面“假死”的,尤其socket是一直在监听消息,那个while(true)循环会一直占用Swing线程的。在Java中,逻辑处理要放在后台线程,Swing线程只做界面处理该做的事情。看看Swing线程模型相关的内容,你会处理好这个问题的。
钱某
2017-05-25
打赏
举报
回复
服务端源代码: public class MyTcp extends JFrame implements ActionListener{ static Label label=new Label("输入"); static JTextField tf=new JTextField(20); static JTextArea ta=new JTextArea(); Container cc; final JScrollPane panel= new JScrollPane(); Socket Client; ServerSocket server; InputStream DataIn; OutputStream DataOut; public MyTcp(){ super("这里是玩家一"); setSize(250,400); setLocation(835,200); panel.add(label); panel.add(tf); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); cc=this.getContentPane(); getContentPane().add(panel,BorderLayout.CENTER); panel.setViewportView(ta); tf.addActionListener(this); cc.add(tf,"South"); add("Center",ta); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); //show(); setVisible(true); try{ server=new ServerSocket(5000); Client=server.accept(); ta.append("已经和客户端建立连接"+Client.getInetAddress().getHostName()+"\n\n"); DataIn=Client.getInputStream(); DataOut=Client.getOutputStream(); }catch(IOException ioe){ //ioe.printStackTrace(); } while(true){ try{ byte buff[]=new byte[512]; DataIn.read(buff); String str=new String(buff); ta.append("玩家二:"+str+"\n"); }catch(IOException ioe){ //ioe.printStackTrace(); } } } public static void main(String[] args) { MyTcp tcp=new MyTcp(); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try{ String str=new String(tf.getText()); byte buf[]=str.getBytes(); tf.setText(""); DataOut.write(buf); ta.append("玩家一:"+str+"\n"); }catch(IOException ioe){ //ioe.printStackTrace(); } } }
C# ASP.NET MVC Web
Socket
Web
Socket
是Web应用中一种实时
通信
协议,它允许服务器与客户端之间进行双向
通信
,极大地提高了数据交换的速度和效率。在ASP.NET MVC框架中结合C#语言,我们可以构建高性能、低延迟的实时应用程序,如聊天室、在线...
socket
通信
简介
“一切皆
Socket
!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的
socket
。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何
通信
,如我们每天...
Socket
通信
原理和实践
我们深谙信息交流的价值,那网络中进程之间如何
通信
,如我们每天打开...
socket
的类型有哪些?还有
socket
的基本函数,这些都是本文想介绍的。本文的主要内容如下: 1、网络中进程之间如何
通信
? 2、
Socket
是什么?
持续请求/
socket
.io/?EIO=3&transport=polling&t=N8HrzIR
项目基本介绍:使用React,webpack,
socket
.io-client, Node.js, Express,
socket
.io 等技术,采用前后端分离开发。 实现项目中的聊天室时遇到报错,一直请求下面的连接: GEThttp://localhost:3030/
socket
.io/?...
socket
通信
基本流程
“一切皆
Socket
!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的
socket
。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何
通信
,如我们每天打开浏览器浏览...
Eclipse
58,452
社区成员
49,460
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章