一对一聊天室软件如何开发?

如同微信这样的功能

不需要群聊功能,传输消息要可靠,如果没有接收到要缓存一下,下一次打开的时候客户端要提醒

如何实现?

不需要过于细节,把关键技术点和架构写明白就好了。

谢谢大神

阅读 2.5k
3 个回答

公司直接用的腾讯IM实时通讯 节约开发成本

可以用websocket来做通讯协议 地址不同来区别不同的客户端
消息采用单方面发起,确认收到等机制来同步
目前来看,这个方案是可行的

image.png

// @ts-check
import * as net from 'net'
import * as readline from 'readline'

const start = () => {
    const port = Number(process.env.PORT || 33757)
    const server = net.createServer(socket => {
        socket
        .on('data', function (e) {
            const words = e.toString().trim()
            console.log(`${new Date().toLocaleTimeString()}\tclient say: "${words}"`)
            switch (words) {
                case 'close':
                    socket.destroy();
                    break;
            }
        })
        .on('close', function () {
            console.log('close')
        })
        .on('error', function (e) {
            console.log(e)
        })

        readline.createInterface({
            input: process.stdin
        })
        .on('line', function (line) {
            socket.write(`${new Date().toLocaleTimeString()}\tserver reply: "${line}"\n`)
        })
    })
    server.listen(port)
}

start();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏