2013-04-26 36 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数据包。