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