Ich arbeite für ein Echtzeit-Messaging-System in meiner PHP-Anwendung. Meine Codes arbeiten für alle Benutzer zusammen. Aber ich brauche privates Nachrichtensystem als Eins-zu-Eins-Nachricht.Private Chat Messaging mit Node.js, Socket.io, Redis in PHP
Nach dem Setup-Knoten und redis ich die Nachrichtendaten bekommen, was ich brauche: hier ist der Code ::
Front-end :: 1. ich ein Formular für - Benutzername, Nachricht und senden JS Taste
und Benachrichtigung:
$(document).ready(function() {
var socket = io.connect('http://192.168.2.111:8890');
socket.on('notification', function (data) {
var message = JSON.parse(data);
$("#notifications").prepend("<p> <strong> " + message.user_name + "</strong>: " + message.message + "</p>");
});
});
Server Side js:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8890);
var users = {};
var sockets = {};
io.on('connection', function (socket) {
console.log(" New User Connected ");
// instance of Redis Client
var redisClient = redis.createClient();
redisClient.subscribe('notification');
socket.on('set nickname', function (name) {
socket.set('nickname', name, function() {
socket.emit('ready');
});
});
socket.on('msg', function() {
socket.get('nickname', function (err, name) {
console.log('Chat message by ', name);
});
});
redisClient.on("message", function(channel, message)
{
// to view into terminal for monitoring
console.log("Message from: " + message + ". In channel: " + channel + ". Socket ID "+ socket.id);
//send to socket
socket.emit(channel, message);
});
redisClient.on('update_chatter_count', function(data)
{
socket.emit('count_chatters', data);
});
//close redis
socket.on('disconnect', function()
{
redisClient.quit();
});
});
HTML ::
<script src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
<form .....>
<input ....... >
</form>
<div id="notifications" ></div>
Over-all-Ausgang:
John : Hello
Kate : Hi
Others: .....
Above-Codes arbeiten gut in meine PHP-Anwendung. Jetzt möchte ich private oder eins-zu-eins-Messaging-System einrichten.
Die Art, wie ich Benutzername oder E-Mail oder einzigartige SocketID für Benutzer hinzufügen muss. Ich habe keine Ideen mehr für private Nachrichten. Ich habe versucht, online zu sehen, aber gescheitert.
** Wie konfiguriere ich private Nachricht in meine PHP-Anwendung? **
Beispiel App: http://justchatnow.herokuapp.com/ und Quellcode https://github.com/codebazz/justchatnow –
:: es funktioniert nicht im privaten Messaging. Ich denke, ich vermisse etwas. Würden Sie mich bitte etwas mehr als Server-Seite und Client-Seite mit Redis-Client führen? –
@Md. Sariful islam Es scheint offene Chat-Box, wo alle Benutzer können Nachrichten an einem Ort senden und empfangen. Aber es scheint, es wäre eins zu eins Messaging-System. – naf4me