解决方案 »
- Extjs怎样快速画界面!!!!
- JSP中from的onsubmit事件的有关问题
- CKEditor 3.0怎么没有图片上传功能?
- 弹出窗口传值的问题~紧急!!!
- 域名无法访问网站,直接用IP可以,请大家帮忙看一下是什么原因
- 网站的多语言问题,请大家出谋划策,谢谢,要支持5种语言!谢谢
- 熟悉JSP的各位帮忙,选课系统请教chekbox的动态多选问题
- session問題
- ◆◆◆mysql的问题—成功帮助我解决此问题者,一次性给足100分!◆◆◆
- JSP做模糊查询,查询内容包含汉字的情况下,IE内核浏览器可以正常查询,火狐等非IE内核浏览器查询不正常,怎么解决?
- 一个用ssh实现的登陆注册功能 求大神指路
- js向后台传参中带有双引号["],但后台接收时只剩下了转义符[\]
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.StatusCode;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;/**
* Basic Echo Client Socket
*/
@WebSocket(maxTextMessageSize = 64 * 1024)
public class SimpleEchoSocket { private final CountDownLatch closeLatch; @SuppressWarnings("unused")
private Session session; public SimpleEchoSocket() {
this.closeLatch = new CountDownLatch(1);
} public boolean awaitClose(int duration, TimeUnit unit) throws InterruptedException {
return this.closeLatch.await(duration, unit);
} @OnWebSocketClose
public void onClose(int statusCode, String reason) {
System.out.printf("Connection closed: %d - %s%n", statusCode, reason);
this.session = null;
this.closeLatch.countDown();
} @OnWebSocketConnect
public void onConnect(Session session) {
System.out.printf("Got connect: %s%n", session);
this.session = session;
try {
Future<Void> fut;
fut = session.getRemote().sendStringByFuture("Hello");
fut.get(2, TimeUnit.SECONDS);
fut = session.getRemote().sendStringByFuture("Thanks for the conversation.");
fut.get(2, TimeUnit.SECONDS);
session.close(StatusCode.NORMAL, "I'm done");
} catch (Throwable t) {
t.printStackTrace();
}
} @OnWebSocketError
public void onError(Throwable cause) {
cause.getStackTrace();
} @OnWebSocketMessage
public void onMessage(String msg) {
// session.getUpgradeResponse().get
System.out.printf("Got msg: %s%n", msg);
} //@OnWebSocketMessage
//public void onMessage(byte buf[], int offset, int length) {
// System.out.printf("Got msg: %s%n", "12");
//}
}
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;@WebServlet(name = "MyEcho WebSocket Servlet", urlPatterns = { "/hello" })
public class SimpleEchoServlet extends WebSocketServlet { /**
* @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么)
*/
private static final long serialVersionUID = 5837369488442566390L; @Override
public void configure(WebSocketServletFactory factory) {
factory.getPolicy().setIdleTimeout(10000);
//ClientUpgradeRequest request = new ClientUpgradeRequest();
//ClientUpgradeResponse response = new ClientUpgradeResponse();
//factory.acceptWebSocket(request, response);
factory.register(SimpleEchoSocket.class);
// factory.acceptWebSocket(arg0, arg1);
}
}