最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何在两个人之间发送whatsapp,telegram,viber或imo等消息?

IT培训 admin 3浏览 0评论

如何在两个人之间发送whatsapp,telegram,viber或imo等消息?

我想创建一个像whatsapp一样的Messenger应用程序,1。首先,我需要列出连接到我的Messenger应用程序的人员列表。 2.我想给列表中存在的人之一发信息,所以我点击列表中的名字。现在我想和他聊天。

在这里,我不希望消息被广播给所有人。

所以请告诉我最安全的方式。

我做了一些像下面的代码。我只是在两个人之间创建了一个房间,这很好用。但问题是当两个人第一次同时点击对方去发消息时,两个不同的房间得到创造。如果他们在不同的时间第一次从列表中互相点击,那么它运作良好。

(async()=> {

try {

    const r1 = await AsyncStorage.getItem(userphone + "u-uuuuuuuu-u" + mynumber);
    const r2 = await AsyncStorage.getItem(mynumber + "u-uuuuuuuu-u" + userphone);

    if (r1 !== null || r2 !== null) {
        if (r1 !== null) {
            this.socket.emit("joiningroom", { room: r1 });
            if (this._isMounted) {
                this.setState({ room: r1 });
            }
        } else {
            this.socket.emit("joiningroom", { room: r2 });
            if (this._isMounted) {
                this.setState({ room: r2 });
            }
        }

    } else {

        var ref1 = db.collection('chatrooms').doc(userphone + "u-uuuuuuuu-u" + mynumber);
        var ref2 = db.collection('chatrooms').doc(mynumber + "u-uuuuuuuu-u" + userphone);

        const doc1 = await ref1.get();
        const doc2 = await ref2.get();

        if (doc1.exists || doc2.exists) {

            if (doc1.exists) {
                const room = doc1.data().mbaliotaq;
                this.socket.emit("joiningroom", { room });
                if (this._isMounted) {
                    this.setState({ room });
                }
                await AsyncStorage.setItem(userphone + "u-uuuuuuuu-u" + mynumber, room);
            } else {
                const room = doc2.data().mbaliotaq;
                this.socket.emit("joiningroom", { room });
                if (this._isMounted) {
                    this.setState({ room });
                }
                await AsyncStorage.setItem(mynumber + "u-uuuuuuuu-u" + userphone, room);
            }

        } else {

            const id = userphone + "u-uuuuuuuu-u" + mynumber;
            const room = "mmm" + userphone + "r-rrrrrrrrr-r" + mynumber + "mmm";

            db.collection('chatrooms').doc(id).set({
                mbaliotaq: room
            }).then(() => {
                this.socket.emit("joiningroom", { room });
                if (this._isMounted) {
                    this.setState({ room });
                }
            }).catch(err => {
                console.log(err);
            });
        }
    }

} catch (e) {
    console.log(`Error in async ${e}`);
}

})();

我需要比我的解决方案更好的方法和安全的方式。

回答如下:

而不是创建聊天室创建创建消息对象,其将具有messageId,senderId,receiverId,时间,文本等...

并在后端检查发送基于usersId的消息

如何在两个人之间发送whatsapp,telegram,viber或imo等消息?

我想创建一个像whatsapp一样的Messenger应用程序,1。首先,我需要列出连接到我的Messenger应用程序的人员列表。 2.我想给列表中存在的人之一发信息,所以我点击列表中的名字。现在我想和他聊天。

在这里,我不希望消息被广播给所有人。

所以请告诉我最安全的方式。

我做了一些像下面的代码。我只是在两个人之间创建了一个房间,这很好用。但问题是当两个人第一次同时点击对方去发消息时,两个不同的房间得到创造。如果他们在不同的时间第一次从列表中互相点击,那么它运作良好。

(async()=> {

try {

    const r1 = await AsyncStorage.getItem(userphone + "u-uuuuuuuu-u" + mynumber);
    const r2 = await AsyncStorage.getItem(mynumber + "u-uuuuuuuu-u" + userphone);

    if (r1 !== null || r2 !== null) {
        if (r1 !== null) {
            this.socket.emit("joiningroom", { room: r1 });
            if (this._isMounted) {
                this.setState({ room: r1 });
            }
        } else {
            this.socket.emit("joiningroom", { room: r2 });
            if (this._isMounted) {
                this.setState({ room: r2 });
            }
        }

    } else {

        var ref1 = db.collection('chatrooms').doc(userphone + "u-uuuuuuuu-u" + mynumber);
        var ref2 = db.collection('chatrooms').doc(mynumber + "u-uuuuuuuu-u" + userphone);

        const doc1 = await ref1.get();
        const doc2 = await ref2.get();

        if (doc1.exists || doc2.exists) {

            if (doc1.exists) {
                const room = doc1.data().mbaliotaq;
                this.socket.emit("joiningroom", { room });
                if (this._isMounted) {
                    this.setState({ room });
                }
                await AsyncStorage.setItem(userphone + "u-uuuuuuuu-u" + mynumber, room);
            } else {
                const room = doc2.data().mbaliotaq;
                this.socket.emit("joiningroom", { room });
                if (this._isMounted) {
                    this.setState({ room });
                }
                await AsyncStorage.setItem(mynumber + "u-uuuuuuuu-u" + userphone, room);
            }

        } else {

            const id = userphone + "u-uuuuuuuu-u" + mynumber;
            const room = "mmm" + userphone + "r-rrrrrrrrr-r" + mynumber + "mmm";

            db.collection('chatrooms').doc(id).set({
                mbaliotaq: room
            }).then(() => {
                this.socket.emit("joiningroom", { room });
                if (this._isMounted) {
                    this.setState({ room });
                }
            }).catch(err => {
                console.log(err);
            });
        }
    }

} catch (e) {
    console.log(`Error in async ${e}`);
}

})();

我需要比我的解决方案更好的方法和安全的方式。

回答如下:

而不是创建聊天室创建创建消息对象,其将具有messageId,senderId,receiverId,时间,文本等...

并在后端检查发送基于usersId的消息

发布评论

评论列表 (0)

  1. 暂无评论