0
得到消息,我有很簡單的Java服務器:服務器上的Java不從Qt的客戶端
int port = 2245;
try {
ServerSocket ss = new ServerSocket(port);
System.out.println("Waiting for a client...");
Socket incomingClient = ss.accept();
InputStream i = incomingClient.getInputStream();
OutputStream o = incomingClient.getOutputStream(); // Use it write to the Client Socket
InputStreamReader isr = new InputStreamReader(i);
BufferedReader br = new BufferedReader(isr);
String str = new String();
while ((str = br.readLine())!=null){
System.out.println("str = " + str);
o.write(123); //("message from server");
}
} catch(Exception x) { x.printStackTrace(); }
而且我有簡單的Qt客戶端,使用QNetworkAccessManager
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QUrl url("http://127.0.0.1:2245");
url.port(6666);
QByteArray postData;
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QString postKey("SomeKey");
postData.append(postKey);
QObject::connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply *)));
我mainwindow.h聲明in slot replyFinished
public slots:
void replyFinished(QNetworkReply* reply);
在最好的情況下,服務器得到一些標頭,如(POST/HTTP/1.1 內容類型:應用程序/ x-WWW窗體-urlencoded等)
但在服務器上我不能從客戶端 和客戶端閱讀我的郵件沒有收到從Java服務器
您使用的端口2245或6666的最新版本?它只能是一個或另一個,而不是兩個。 – MrEricSir
我使用2245端口無處不在,對不起,如果它讓你感到困惑 服務器看到Qt的客戶,甚至得到一些數據,但我無法從Java服務器 – Dmitry
Qt的客戶端上的任何迴應。在這種情況下,如何處理這一行的了:' url.port(6666);' – MrEricSir