Java socket通信

2019-03-25 13:49|来源: 网路

是从网上找到的聊天程序  有服务器和客户端, 在注册完之后出现 java.io.StreamCorruptedException: invalid stream header: 2A2A2A2A
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Register.register(Register.java:293)
at Register.actionPerformed(Register.java:202)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Login.login(Login.java:189)
at Login.actionPerformed(Login.java:155)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)[/size]

问题补充:
shadabing 写道
空指针异常, 贴代码

不好意思,等到这么晚才回复你。上传了部分源码,请指教。万分感谢![size=medium][/size]

问题补充:
shadabing 写道
空指针异常, 贴代码

相关问答

更多
  • 最简单的就是将dins.readUTF()方法换成dins.readLine(),出错的原因是到达流的末尾导致的意外终止。 你会发现readLine()方法已经是废弃方法,不建议使用了。 比较常规的方法是使用 BufferedReader br= new BufferedReader(new InputStreamReader(ins)); 来替代DataInputStream 祝你好运!
  • java中Socket通信[2022-09-23]

    你加了高分我才贴 ----------------具体是: Client-A发送消息向Server:消息包括内容+流向(Client-B的地址)+消息来源地址 Server接收后再把消息+来源地址发给Client-B
  • 能接受到消息说明你们的通信是不存在问题的,只接受到一次消息,你需要考虑下是不是客户端已经退出了,或者消息流程已经走完了,还有看看服务端的消息接受流程是否合理 ,因为没有SRC所以这里只能通过你的描述做下解析了,具体还是自己查阅下流程是否正常· 通信是没有问题了
  • java的Socket通信[2022-09-29]

    把端口改一下啊!有些端口是比较敏感。
  • 这个问题不简单
  • 我通过C#代码试了一下,确定是第一种,server端仍然用原来的端口。 仔细考虑这样也对。因为客户端每次都跟server listen的端口connect,如果server每次accept都再分配一个端口的话,而客户端依然用connect的那个端口去通信,显然就不对了
  • 需要做一个socket通信程序,服务器端为vc做的,我需要用java做个客户端,对方要求的通信格式如下: 消息头: 第1~4字节 用字节数表示的消息头的长度 第5~8字节 用字节数表示的消息内容长度 第9字节 服务类型:1为响应,2为请求 第10~11字节 源系统代号 第12~13字节 目的系统代号 消息内容: xml格式 小弟之前没有做过这样的程序,实在是一点头绪都没有,那位高手能给点提示 java应该如何组装消息 采用那种方式发送给服务器端 先谢谢啦! 回复人:sureyor() ( 五级(中级)) 信 ...
  • OutputStream ops = socket.getOutputStream();//这是字节流用于向服务端发送字节数据 OutputStreamWriter opsw = new OutputStreamWriter(ops);//这个是包装字节流的字符流 用于上服务端发送字符流 BufferedWriter bw = new BufferedWriter(opsw);//这是高级字符包装流 是一个带有缓冲功能的字符流 包装了上面语句中穿件的字符流 可以达到一定的缓存再发送 避免频繁交互 浪费资源
  • JAVA socket通信[2023-08-03]

    public class Client { public static void main(String[] args) { String s=null; Socket mysocket; DataInputStream in=null; DataOutputStream out=null; try { mysocket=new Socket("127.0.0.1",4331); in=new DataInputStream(mysocket.getInputStream()); out=new DataO ...
  • 可以通过调试 检测方案1和方案2下 字节流中字节数据是否一致 如果一致 就不是socket的问题 是 java客户端 接收数据的问题 如果不一致(不太可能) 可能是java客户端发送数据的问题 本人愚见~!