im essayant de construire serveur TCP/client de messagerie instantanée mon code à ce jour estclients tcp communication serveur
server.js
var net=require("net");
var sockets=[];
var server=net.createServer(function(socket){
console.log("new socket connected");
sockets.push(socket);
var sh="";
socket.on("data",function(data){
sh=sh+data;
});
socket.on("end",function(){
sockets.forEach(function(x){
if(x!==socket){
x.write("Dakto poveda :"+ sh);
sh="";
}
});
})
socket.on("close",function(){
console.log("Connection closed")
})
}).listen(8888)
et Client.js
var net=require("net");
var client= new net.Socket();
client.connect(8888,function(){
console.log("Conncted");
client.write("Hello from client")
});
client.on("data",function(data){
console.log("data "+data)
});
client.on("close",function(){
console.log("Client closed");
client.write("client closed")
})
je commence serveur .js puis j'ouvre de nouveaux cmds et démarre client.js dedans. Dans le serveur cmd dans les écritures ce client a connecté, et dans le client cmd il écrit "connecté" et il n'écrit pas "bonjour du client" + la question est, comment puis-je communiquer entre ces clients/serveur? Lorsque je démarre ces fichiers, je ne peux plus écrire sur cmd
cela a vraiment aidé, mais pour la dernière question, pourquoi je ne peux pas écrire dans le cmd après avoir commencé cliend? sans cela je suis limité à des messages statiques (ofc je pourrais envoyer des données de bout en bout, mais im juste en commençant par node donc je vais essayer ça plus tard) – Darlyn
@trolkura Il n'y a pas de réponse unique à cette question. Tout dépend de l'application. Par exemple, si vous faites simplement une chose basée sur la console qui fonctionne dans le terminal, alors vous devriez simplement lire stdin et envoyer le message lorsque l'utilisateur appuie sur Entrée. Ou peut-être que vous avez vos commandes/entrées proviennent d'un canal redis pubsub. Tout dépend. – mscdex