我希望这之前没有得到回答,但是在快速谷歌之后我没有找到任何答案。
我有一部 Android 手机,它试图通过 Wifi 连接到我的笔记本电脑,以从笔记本电脑上运行的服务器应用程序中检索信息。注意:应用程序部署到我的手机上。
SERVERIP = "10.0.0.100" SERVERPORT = 1337
一周前,当他的 PC 运行服务器时,这在我的朋友 Wifi 上有效,但在我的 PC 和我的 Wifi 上发生了以下情况:
try {
Log.d(tag, "Declaring socket..."); //print to log for debugging purposes
socket = new Socket(SERVERIP, SERVERPORT); //declare the socket
Log.d(tag, "Attempting login..."); //print to the log for debugging purposes
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.println("MLI$" + username.getText().toString() + "$" + password.getText().toString());
out.flush();
error.setText("Sent connection string...");
if(!in.readLine().equals("NLI$Login Failed"))
{
Intent intent = new Intent(this, ViewTimetableCycle.class);
startActivity(intent);
}
else
{
Toast.makeText(getApplicationContext(),"Invalid username/password combination", Toast.LENGTH_LONG).show();
error.setText("Invalid username/password combination");
}
} catch (UnknownHostException e) {
Log.d(tag, "UnknownHostException");
error.setText("UnknownHostException");
} catch (IOException e) {
Log.d(tag, "IOException: " + e.getMessage());
error.setText("");
}
日志中的输出:
Declaring socket...
08-14 20:25:10.065: D/LoginActivity(21045): IOException: failed to connect to /10.0.0.100 (port 1337): connect failed: ECONNREFUSED (Connection refused)
当我创建套接字时,catch 块没有执行并且连接被拒绝。至于服务器,没有任何活动——它没有检测到任何连接。
所以我想知道的是,这是网络错误吗?我尝试转发端口无济于事。我遇到了以下对我没有太大帮助的 stackoverflow 查询: