Java Socket android客户端PC服务器
我无法将android客户端连接到PC服务器 这是密码 -->PC服务器:Java Socket android客户端PC服务器,java,android,sockets,client,Java,Android,Sockets,Client,我无法将android客户端连接到PC服务器 这是密码 -->PC服务器: public class Server { public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException { ServerSocket server = new ServerSocket(4444); System.out.println("Waiting for clien
public class Server {
public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException
{
ServerSocket server = new ServerSocket(4444);
System.out.println("Waiting for clients to connect...");
while (true)
{
Socket s = server.accept();
InetAddress clientAddress = s.getInetAddress();
System.out.println("Incoming connection from: " + clientAddress.getHostName() + "[" + clientAddress.getHostAddress() + "]");
s.close();
}
}
}
--->ANDROID客户端:
public class Main extends Activity {
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button)findViewById(R.id.connect);
b.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
try {
Socket client = new Socket("10.0.2.2", 4444); //connect to server
client.close(); //closing the connection
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
当我在安卓设备上单击服务器程序(PC)中的按钮时,无法查看设备连接…为什么?我试着插入
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
进入我的AndroidManifest但当我点击按钮时程序崩溃
Android设备和PC连接到同一网络(路由器DSL)
请帮帮我您使用的地址是
10.0.2.2
,属于私人地址
您应该使用设备可以解析的地址。在可从您的手机访问的DNS中发布的DNS名称(即公共名称)或可路由IP。您的服务器应该可以通过公共网络访问,除非您特别注意,否则您的PC不太可能做到这一点-我不确定您的意思是什么:
Android设备和PC连接到同一网络(路由器DSL)
请看一看手机端抛出的异常,并用生成的堆栈跟踪编辑您的帖子。这将有助于进一步深入了解这一点。10.0.2.2是一个地址,在模拟器中运行的应用程序使用该地址与在pc上运行的服务器连接。模拟器位于同一台pc上。如果使用真实设备,则必须使用pc的(W)LAN地址,该地址与设备位于同一WLAN中。通常是192.168.0.12。使用ipconfig查找。您的套接字声明应如下所示:
Socket client = new Socket(10.0.2.2, 4444); //Quotes removed
我不知道需要在Socket client=newsocket(“,4444”)中插入什么ip地址;我的android设备和pc连接到同一个本地网络