我有一个监听端口的 Qt tcp/ip 服务器。我可以用 telnet 与之交谈,但是当我尝试使用 netcat 时,输入命令会被截断。当我尝试通过 python 向它发送命令时,它什么也看不到。Qt tcp 服务器有没有其他人遇到过这样的问题?代码如下。
服务器
QTcpServer remoteControlServer;
remoteControlClient = remoteControlServer.nextPendingConnection();
connect(remoteControlClient, SIGNAL(readyRead()), this, SLOT(remoteCommandRead()));
命令解释器 -> 这是我怀疑问题所在。canReadLine() 没有做我想做的事吗?我只是发送字符串,所以我认为我应该使用面向行的协议。
void MainWindow::remoteCommandRead()
{
QByteArray lineBuffer;
QByteArray consoleString;
QByteArray command;
QList<QByteArray> commandList;
while(remoteControlClient->canReadLine())
{
lineBuffer = remoteControlClient->readLine();
lineBuffer.chop(2);
lineBuffer.simplified();
commandList = lineBuffer.split(' ');
蟒蛇客户端
import socket
remote_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('address', port)
remote_sock.connect(server_address)
remote_sock.sendall('commandString')
非常感谢。