[英]How to connect a mobile application from your android mobile device to your laptop server using sockets?
我有一個非常簡單的Java服務器在我的筆記本電腦上運行。 另一方面,我有我的平板電腦,也有一個非常簡單的客戶端,以配合我的服務器,但它無法正常工作。 兩者都在同一個無線網絡上運行。
Server ServerSocket serverSocket = null的示例; 套接字socket = null; DataInputStream dataInputStream = null; DataOutputStream dataOutputStream = null;
try {
serverSocket = new ServerSocket(8888);
System.out.println("Listening :8888");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true){
try {
socket = serverSocket.accept();
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream = new DataOutputStream(socket.getOutputStream());
System.out.println("ip: " + socket.getInetAddress());
System.out.println("message: " + dataInputStream.readUTF());
dataOutputStream.writeUTF("Hello!");
簡單的客戶代碼:
mysock = new Socket(server_adress, port_number);
我嘗試過設置清單WIFI權限。 試圖關閉計算機防火牆。 關於無線連接如何工作可能會阻塞連接,我應該知道些什么嗎?
提前致謝
您需要為INTERNET設置權限。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
客戶端:
String adresaServer = "192.168.4.120";
int PORT = 8095;
Socket socket = null;
DataInputStream in = null;
try {
socket = new Socket();
SocketAddress adr = new InetSocketAddress(adresaServer, PORT);
socket.connect(adr, 1500);
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
out.flush();
} catch (SocketTimeoutException e) {
System.err.println(" Error at CONNECTINGG: \n" + e);
} catch (UnknownHostException e) {
System.err.println(" Serverul nu poate fi gasit \n" + e);
System.exit(1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.writeFloat(sensors.getValueGyroZ());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
服務器端:
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(PORT);
serverSocket.setSoTimeout(1600000);
System.out.println(" Waiting a client ... ");
Socket socket = serverSocket.accept();
int i = 0;
DataOutputStream out = new DataOutputStream(
socket.getOutputStream());
while (true) {
DataInputStream in = new DataInputStream(
socket.getInputStream());
System.out.println(String.valueOf(in.readFloat()));
}
} catch (IOException e) {
System.err.println(" Eroare IO \n" + e);
} finally {
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.