websocket java服务器_Java服务器JavaScript客户端WebSocket

本文探讨了如何在Java中使用WebSocket进行服务器端编程,提供了WebSocketServer类的实例代码,展示了如何处理新连接、消息传递和断开连接。同时,作者强调了Java WebSocket与套接字服务器的区别,并给出了Maven配置示例。
摘要由CSDN通过智能技术生成

小编典典

首先,您的两个代码看起来与Java和JavaScript完全相同。两者都可以按照他们设计的目的工作,但是事实是您正在尝试将WebSocket客户端连接到套接字服务器。

据我所知,关于这个答案,他们是两回事。

我从来没有尝试过你的方式。这就是说,如果我有一个使用套接字的网络应用程序,那么它将是纯客户端/服务器套接字;如果它是一个Web应用程序,那么我将在两侧都使用WebSocket。

到目前为止,一切都很好..

我正在使用Java的WebSocket,这是我已经用您的客户端代码测试过的示例实现,并且可以在客户端和服务器端使用。

import org.java_websocket.WebSocket;

import org.java_websocket.handshake.ClientHandshake;

import org.java_websocket.server.WebSocketServer;

import java.net.InetSocketAddress;

import java.util.HashSet;

import java.util.Set;

public class WebsocketServer extends WebSocketServer {

private static int TCP_PORT = 4444;

private Set conns;

public WebsocketServer() {

super(new InetSocketAddress(TCP_PORT));

conns = new HashSet<>();

}

@Override

public void onOpen(WebSocket conn, ClientHandshake handshake) {

conns.add(conn);

System.out.println("New connection from " + conn.getRemoteSocketAddress().getAddress().getHostAddress());

}

@Override

public void onClose(WebSocket conn, int code, String reason, boolean remote) {

conns.remove(conn);

System.out.println("Closed connection to " + conn.getRemoteSocketAddress().getAddress().getHostAddress());

}

@Override

public void onMessage(WebSocket conn, String message) {

System.out.println("Message from client: " + message);

for (WebSocket sock : conns) {

sock.send(message);

}

}

@Override

public void onError(WebSocket conn, Exception ex) {

//ex.printStackTrace();

if (conn != null) {

conns.remove(conn);

// do some thing if required

}

System.out.println("ERROR from " + conn.getRemoteSocketAddress().getAddress().getHostAddress());

}

}

在您的主要方法上:

new WebsocketServer().start();

您可能需要操纵您的代码以使其适合此实现,但这应该是工作的一部分。

这是2个测试的测试输出:

New connection from 127.0.0.1

Message from client: Ping

Closed connection to 127.0.0.1

New connection from 127.0.0.1

Message from client: Ping

这是WebSocket maven配置,否则手动下载JAR文件并导入到您的IDE /开发环境中:

org.java-websocket

Java-WebSocket

1.3.0

2020-11-13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值