从.class向@ServerEndpoint发送消息,可以通过以下步骤实现:
以下是一个示例代码:
// 客户端代码
import javax.websocket.*;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
@ClientEndpoint
public class WebSocketClient {
private Session session;
@OnOpen
public void onOpen(Session session) {
this.session = session;
}
@OnMessage
public void onMessage(String message) {
System.out.println("Received message: " + message);
}
public void sendMessage(String message) throws IOException {
session.getBasicRemote().sendText(message);
}
public static void main(String[] args) {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
String uri = "ws://localhost:8080/your-server-endpoint";
try {
Session session = container.connectToServer(WebSocketClient.class, new URI(uri));
WebSocketClient client = new WebSocketClient();
client.onOpen(session);
client.sendMessage("Hello, server!");
} catch (DeploymentException | URISyntaxException | IOException e) {
e.printStackTrace();
}
}
}
// 服务器端代码
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/your-server-endpoint")
public class WebSocketServer {
@OnOpen
public void onOpen(Session session) {
System.out.println("Client connected: " + session.getId());
}
@OnMessage
public void onMessage(String message, Session session) {
System.out.println("Received message from client " + session.getId() + ": " + message);
}
@OnClose
public void onClose(Session session) {
System.out.println("Client disconnected: " + session.getId());
}
}
在上述示例中,客户端代码使用了javax.websocket.ClientEndpoint注解来标记一个类,使其成为一个WebSocket客户端。服务器端代码使用了javax.websocket.server.ServerEndpoint注解来标记一个类,使其成为一个WebSocket服务器端点。客户端通过WebSocketContainer的connectToServer方法连接到服务器端点,并发送消息。服务器端接收到消息后进行处理。
请注意,上述示例中的代码仅为演示目的,实际应用中可能需要根据具体需求进行适当的修改和扩展。
推荐的腾讯云相关产品:腾讯云WebSocket服务(https://cloud.tencent.com/product/tcws)
云+社区技术沙龙[第7期]
云+社区技术沙龙[第1期]
云+社区技术沙龙[第10期]
高校公开课
高校公开课
“中小企业”在线学堂
技术创作101训练营
Techo Youth
云+社区技术沙龙[第4期]
领取专属 10元无门槛券
手把手带您无忧上云