ポートでリッスンしている 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(' ');
Python クライアント
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')
どうもありがとう。