【发布时间】:2018-10-14 05:48:05
【问题描述】:
我正在尝试将 android 客户端连接到 pc 服务器,但客户端总是崩溃并且无法连接到服务器。 服务器由两种方法组成,一种等待客户端连接,另一种打印客户端连接(我没有使用线程,我只连接一个客户端) 服务器(我只展示第一种方法):
public Socket listeningClient ()
{
try
{
server = new ServerSocket(8080);
client = server.accept();
server.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.exit(1);
}
return client;
}
在客户端有一个按钮调用方法来创建点击时的套接字:
客户
public class Client {
String IP = "192.168.1.4";
int portaServer = 8080;
Socket miosocket = null;
public void connetti() {
try {
InetAddress nomeServer = InetAddress.getByName(IP);
miosocket = new Socket(nomeServer, portaServer);
miosocket.close();
}
catch (UnknownHostException e) {
e.printStackTrace();
Log.e("MyApp", "UnknownHost");
}
catch (Exception e) {
e.printStackTrace();
Log.e("MyApp", "Exception");
System.exit(1);
}
}
}
该应用程序总是在该行崩溃:miosocket = new Socket(nomeServer, portaServer);
并抛出异常(第二个)。谁能告诉我是我的代码有问题(我很确定问题是代码)还是服务器有问题?
(在 AndroidManifest.xml 中我使用了这些权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
)
【问题讨论】:
-
有什么例外?
-
我认为是:05-03 22:29:56.594 24077-24077/com.example.administrator.progetto W/System.err: android.os.NetworkOnMainThreadException ;在此之后它给了我另一个 system.err 但它写了大约 20 行...
标签: java android sockets client-server