Java 安卓中的安全WebSocket服务器
我正在使用koush提供的GitHub库。我需要这个库来创建WebSocket服务器,我能够创建它Java 安卓中的安全WebSocket服务器,java,android,websocket,Java,Android,Websocket,我正在使用koush提供的GitHub库。我需要这个库来创建WebSocket服务器,我能够创建它 private static List<WebSocket> webSockets = new ArrayList<WebSocket>(); private static AsyncHttpServer httpServer = new AsyncHttpServer(); 这个实现工作得非常好。 但是我想使用wss协议,在那里我可以为websocket使用JKS(ja
private static List<WebSocket> webSockets = new ArrayList<WebSocket>();
private static AsyncHttpServer httpServer = new AsyncHttpServer();
这个实现工作得非常好。
但是我想使用wss
协议,在那里我可以为websocket使用JKS(javakeystore)证书
有没有办法做到这一点?如果没有这个图书馆,还有其他图书馆可以使用吗?任何例子都将不胜感激
谢谢 试试看。我没用过。不过,该公司表示,它支持Java服务器和支持wss的Android客户端。祝你好运 老实说,我不知道我是对的。我碰巧遇到了这件事 你认为你可以用java来做吗 我想基本结构是: MyHTTPDTask 我的服务器
import java.io.IOException;
进口fi.iki.elonen.NanoHTTPD;
公共类MyServer扩展了NanoHTTPD{
专用最终静态int端口=8080;
public MyServer()引发IOException{
超级(港口);
start();
System.out.println(“\n正在运行!将浏览器指向http://localhost:8080/ \n”);
}
@凌驾
公众回应服务(IHTTP会议){
String msg=“Hello server\n”;
msg+=“我们提供”+session.getUri()+”!”;
返回newFixedLengthResponse(msg+“\n”);
}
}
对于服务器端,为什么不使用标准API,javax.websocket
?它是JavaEE的一部分
关于Android方面,请参见“”
public static void createWebSocket() {
httpServer.websocket("/", new AsyncHttpServer.WebSocketRequestCallback() {
@Override
public void onConnected(final WebSocket webSocket, AsyncHttpServerRequest request) {
webSockets.add(webSocket);
webSocket.setClosedCallback(new CompletedCallback() {
@Override
public void onCompleted(Exception ex) {
Log.d(TAG, "onCompleted");
}
});
webSocket.setStringCallback(new WebSocket.StringCallback() {
@Override
public void onStringAvailable(String s) {
Log.d(TAG, "onStringAvailable");
}
});
}
});
httpServer.listen(8080);
}
import java.io.IOException;
import java.util.Map;
import fi.iki.elonen.NanoHTTPD;
class MyHTTPDTask extends AsyncTask {
private MyServer mHTTPD;
@Override
protected Object doInBackground(Object... params) {
mHTTPD = new MyServer();
mHTTPD.makeSecure(NanoHTTPD.makeSSLSocketFactory(R.string.keystore.jks, "password".toCharArray()), null);
}
}
import java.io.IOException;
import fi.iki.elonen.NanoHTTPD;
public class MyServer extends NanoHTTPD {
private final static int PORT = 8080;
public MyServer() throws IOException {
super(PORT);
start();
System.out.println( "\nRunning! Point your browers to http://localhost:8080/ \n" );
}
@Override
public Response serve(IHTTPSession session) {
String msg = "<html><body><h1>Hello server</h1>\n";
msg += "<p>We serve " + session.getUri() + " !</p>";
return newFixedLengthResponse( msg + "</body></html>\n" );
}
}