我知道如何为 Java 客户端编写 Java 服务器,但我是从 Js 编码开始的,我绝对不了解其套接字的工作方式。我正在尝试在 Java 中使用普通的 TCP 服务器,但我只是从 Js 收到部分消息头,而不是消息。我的代码可能只是错误的,所以如果有人只是给我发送一个带有 Java 服务器和一些随机字符串事务的 JS 客户端示例,我会很高兴。我附上我的代码只是为了让你受苦:)var socket = new WebSocket("ws://localhost:8080"); socket.send("hola"); public static void main(String [] args){ try { ServerSocket serverSocket= new ServerSocket(8080); ClientHandler clientHandler; while (true){ Socket socket= serverSocket.accept(); clientHandler= new ClientHandler(socket); clientHandler.start(); } } catch (IOException e) { e.printStackTrace(); } } private static class ClientHandler extends Thread{ Socket socket; InputStream in; OutputStream out; BufferedInputStream bufferedInputStream; public ClientHandler(Socket socket){ try { this.socket= socket; in= socket.getInputStream(); out= socket.getOutputStream(); bufferedInputStream= new BufferedInputStream(in); } catch (IOException e) { e.printStackTrace(); } } @Override public void run(){ System.out.println(socket.getInetAddress()+"Connected successfully"); try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in)); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(bufferedReader.readLine()); System.out.println(stringBuilder.toString()); } catch (IOException e) { e.printStackTrace(); } } }}```
1 回答
![?](http://img1.sycdn.imooc.com/54584dd900014f6c02200220-100-100.jpg)
红颜莎娜
TA贡献1842条经验 获得超12个赞
您的代码中有很多问题。无论如何,您当前的问题是服务器实现了TCP服务器,但客户端使用WebSocket ,这是TCP之上的协议,因此您也必须处理该协议。您必须自己实现 http web 套接字协议或使用Netty或其他实现它的库。
添加回答
举报
0/150
提交
取消