2013-04-26 50 views
1

發送到遠程主機下面是代碼:我想一個字符串在端口12345發送到遠程主機192.168.1.3但我不能在遠程主機接收它。請讓我知道缺少的東西。 THX 順便說一句,我可以從Android設備發送信息,使用netcat的遠程主機。我也援引isReachable(),它顯示遠程主機可以Ping通。不能UDP數據包通過wifi Android上

try { 
       socket = new DatagramSocket(); 

       socket.setBroadcast(false); 
       DatagramPacket packet; 
       String datas="adasdasdasd"; 
       packet = new DatagramPacket(datas.getBytes(), datas.length(),InetAddress.getByName("192.168.1.3"), 12345); 

       socket.send(packet); 
       System.out.println("sending"); 
      } catch (SocketException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
} 

且相應的清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.testclientnew" 
    android:versionCode="1" 
    android:versionName="1.0" > 

     <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 
    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="10" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.testclientnew.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

是連接到本地網絡的Android設備? – MAV 2013-04-26 19:21:43

+0

是的。我是否可以將Android設備的信息使用netcat的 – henryyao 2013-04-26 19:28:22

+0

它是否拋出任何異常遠程主機?您是否已將互聯網權限添加到清單文件? – NoToast 2013-04-26 19:31:55

回答

0

我得到了答案。這只是因爲我沒有在接收端正確打開netcat。我應該使用nc -ul 12345。我錯過了-u選項,導致我無法接收UDP數據包。