Ich versuche gerade einige Multiplayer-Spielideen auszuprobieren und versuche eine Java-Anwendung zu erstellen, um ein Webbrowser-basiertes Multiplayer-Spiel zu bedienen.Java-Websocket-Host?
Meine Entwicklungsumgebung ist Eclipse auf dem Hauptcomputer und Notizblock + Google Chrome auf diesem Laptop.
Ich erstelle den Websocket mit Javascript auf der Client-Seite und mit der java.net.Socket am Server-Ende.
Ich habe es geschafft, eine Verbindung an beiden Enden bestätigt, aber kann nicht scheinen, um Daten zwischen ihnen zu senden oder zu empfangen, ohne den Client die Verbindung zu schließen (nicht einmal Fehler; nur scheint etwas ausflippen und rufe socket.close) auf.
Hat jemand irgendwelche Ideen?
Hier einige Code:
Auftraggeber:
<script type="text/javascript">
var socket;
function init() {
socket = new WebSocket("ws://192.168.0.3:10000");
socket.onopen = function() { alert('OPEN: ' + socket.readyState); }
socket.onmessage = function (msg) { alert('DATA: ' + msg.data); }
socket.onerror = function (msg) { alert('DATA: ' + msg.data); }
socket.onclose = function() { alert('CLOSED: ' + socket.readyState); }
}
function onClick() {
socket.send("YAY!");
}
</script>
Server:
public static void main(String args[])
{
System.out.printLn("Websocket server test");
ServerSocket connectSocket = null;
try
{
Socket clientSocket;
connectSocket = new ServerSocket(10000);
System.out.printLn("Waiting for connection...");
clientSocket = connectSocket.accept();
System.out.printLn("Got one!");
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
for(int i=0;i<100;i++) //Shit but easy
{
String data = in.readLine();
System.out.printLn("Got data: " + data);
out.printLn("YAY!");
}
}
catch (IOException e)
{
System.out.printLn("You fail: " + e.getMessage());
}
System.out.printLn("Finished!");
}
Gibt es einen Grund, warum Sie keinen vorhandenen WebSockets-Server verwenden? –
Siehe diese Frage für eine Liste von vorgefertigten WebSockets-Servern: http://StackOverflow.com/Questions/4278456/WebSockets-Production-Ready-Server –