我有两个项目,一个用于服务器,一个用于客户端。在客户端上,当我想发送数据时,我创建了一个QTcpSocket
成员变量,然后使用write()
方法发送数据。从服务器发送数据到客户端
在服务器上,我收到信息,但我想将信息发送回客户端。具体来说,我想验证一个用户,所以我发送他们在客户端登录到服务器的用户名和密码,我想检查保存在服务器上的数据库的数据,然后发送信息返回给客户以验证信息是否正确。
我的问题是,我不知道如何将信息从服务器发送到客户端。在服务器上,我有两个成员变量,QTcpServer server;
和QTcpSocket* client;
。
我查看了关于QTcpServer
的文档,就我所知,它没有相当于write()
,而QTcpSocket*
是当前连接到服务器的客户端。
我在想在服务器上创建一个QTcpSocket
变量,将信息发送给客户端我将信息发送到服务器以同样的方式,但是这似乎是错误的,因为这样的客户端将表现得像一台服务器,完成一个QTcpServer
变量在客户端上。
我该怎么办呢?
一旦我使用'serverSocket-> write(“Hello!”)写入数据;'我如何读取该客户端上的数据?使用我在客户端程序中包含的'readSocket'函数?我已经可以读取从客户端发送到服务器的数据,所以我认为这就是您希望我放置'readSocket'函数的地方。 – Lighthat
在客户端读取数据是相似的。只需将客户端插座的readyRead信号连接到某个插槽即可。当新数据到达时,信号被发射,槽被调用并且您可以在那里读取数据。 – Nejat
我已将两个变量添加到我的客户端程序QTcpSocket * incomingFromServer;处理来自服务器和QTcpServer *服务器的数据;监听来自服务器的传入连接。每次用户打开客户端程序时,我都有一个欢迎函数来向服务器发送消息,并测试此操作我想从服务器获取消息。因此,在我调用客户端写入之后,我调用connect,然后在该端口上侦听响应,就像我在等待客户端响应时在服务器上执行的操作一样。这到目前为止是否正确? – Lighthat