DreamGamer
Lieutenant
- Registriert
- Feb. 2017
- Beiträge
- 543
Hallo, ich wollte in React Native eine Verbindung zwischen meinem Server in NodeJS und dem Endgerät also IOS oder Android herstellen. Dafür kam mir natürlich als erstes SocketIO in den Kopf, aber wenn ich versuche damit eine Verbindung aufzubauen funktioniert dies am Handy nicht, sondern nur am PC über NodeJS. Ich habe daraufhin Websockets getestet und damit funktionierte alles einwandfrei. Weiß einer woran es liegen könnte? Unten stehen die beiden Source Code Versionen kurz gefasst freue mich über jede Hilfe :=)
Websocket:
Client:
Server:
SocketIO:
Client:
Server:
Websocket:
Client:
Javascript:
const client = new W3CWebSocket("ws://" + HOST + ":" + PORT);
client.onopen = client => {
console.log("WebSocket Client Connected");
setIsConnected(true)
};
client.onerror = message => {
console.log("Error while connecting!");
setIsConnected(false);
};
Server:
Javascript:
const webSocketsServerPort = 25565;
const webSocketServer = require('websocket').server;
const http = require('http');
const server = http.createServer();
server.listen(webSocketsServerPort);
const wsServer = new webSocketServer({
httpServer: server
});
const clients = {};
const getUniqueID = () => {
const s4 = () => Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
return s4() + s4() + '-' + s4();
};
wsServer.on('request', function(request) {
var userID = getUniqueID();
const connection = request.accept(null, request.origin);
clients[userID] = connection;
console.log('connected: ' + userID)
});
console.log(`Listening on port ${webSocketsServerPort}`)
SocketIO:
Client:
Javascript:
const socket = io(http:// + HOST + ":" + PORT);
socket.on("connect", () => {
console.log("Connected!")
})
socket.on("connect_failed", () => {
console.log("Error while connecting!")
});
Server:
Javascript:
const express = require("express");
const http = require("http");
const socketIo = require("socket.io");
const port = process.env.PORT || 25565;
const app = express();
const server = http.createServer(app);
const io = socketIo(server);
io.on("connection", socket => {
console.log("New client connected");
socket.on("disconnect", () => console.log("Client disconnected"));
});
server.listen(port, () => console.log(`Listening on port ${port}`));
Zuletzt bearbeitet: