SandTripper / didactic-pancake-server

聊天社交软件的服务器
6 stars 0 forks source link

求问 #1

Open lpyhx opened 1 year ago

lpyhx commented 1 year ago

你好,我想问下这个聊天软件服务端如何部署以及启动,万分感谢!

SandTripper commented 1 year ago

你好,我想问下这个聊天软件服务端如何部署以及启动,万分感谢!

将该项目源码拷贝进你的linux服务器,进入项目根目录,在server.config文件修改配置,输入命令: make&&./server 进行编译和启动,最后更改客户端中TcpConnect.cpp文件的reconnect函数,将里面的IP地址替换成你服务器的IP

lilyang99 commented 6 months ago

你好,我想问下server.config这个文件要修改什么配置,我这里有点不懂,能解答一下吗,万分感谢!

lilyang99 commented 6 months ago

运行原文件的server显示 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18: version `libmysqlclient_18' not found (required by ./server)

SandTripper commented 6 months ago

你好,我想问下server.config这个文件要修改什么配置,我这里有点不懂,能解答一下吗,万分感谢!

localhost 不知道含义的话填写0.0.0.0 tcp和udp port分别为tcp的端口和udp的端口

SandTripper commented 6 months ago

运行原文件的server显示 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18: version `libmysqlclient_18' not found (required by ./server)

需要服务器安装了mysql依赖库

lilyang99 commented 6 months ago

这个localhost是要在main.cpp里修改吗 还是就在这个server.config

lilyang99 commented 6 months ago

有没有虚拟机的镜像文件啊 刚才

运行原文件的server显示 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18: version `libmysqlclient_18' not found (required by ./server)

需要服务器安装了mysql依赖库

有没有server虚拟机的镜像文件啊?

SandTripper commented 6 months ago

有没有虚拟机的镜像文件啊 刚才

运行原文件的server显示 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18: version `libmysqlclient_18' not found (required by ./server)

需要服务器安装了mysql依赖库

有没有server虚拟机的镜像文件啊?

没有

SandTripper commented 6 months ago

这个localhost是要在main.cpp里修改吗 还是就在这个server.config

config

lilyang99 commented 5 months ago

现在设置好了显示段错误

lilyang99 commented 5 months ago

你好 有没有数据库的表结构?

lilyang99 commented 5 months ago

这个音频是没实现吗?只有提醒的铃声没有通话后的声音

jinshilei commented 5 months ago

服务器端成功运行并且端口4399监听成功,客户端启动以后显示服务器无法连接,看了reconnect函数里面的connectToHost返回的是false,没有和服务器建立连接。两边防火墙都关掉了,互相也ping的通,ip地址和端口也没填错,不知道为撒不行。

jinshilei commented 5 months ago

在reconnect函数里面:添加qDebug("State:%d\n",m_client->state()); 运行输出: QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "192.168.88.128" State:2 然后我又加入这个在singleslot函数之前: connect(m_client, QOverload::of(&QAbstractSocket::error), this, [=](QAbstractSocket::SocketError socketError) { qDebug() << "Error occurred: " << m_client->errorString(); }); 输出的是:QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "xxx.xxx.xxx.xxx" Error occurred: "Trying to connect while connection is in progress" Error occurred: "Trying to connect while connection is in progress" Error occurred: "Trying to connect while connection is in progress" 是不是可能是singleslot函数的时间太短,但是connectToHost时间有太长了,造成的问题?

jinshilei commented 5 months ago

我用wireshark抓包了,返回的icmp报文显示Destination unreachable (Communication administratively filtered),查到的资料说是路由或者防火墙问题,防火墙我两边都关闭了,然后我以为是路由问题,搜了很多资料以后发现,还我的防火墙确实没关完,我只关掉了ufw,还有一个firewalld没关,他拦截了,我以为只有ufw关掉就好了。白瞎我几天时间。应该早点尝试抓包的