4
我现在正在关注此问题一段时间。我正在接收端通过套接字将数据从设备发送到设备,我必须将此数据从套接字发送到设备本身。 localhost/127.0.0.1/10.0.0.2
或WiFi地址不起作用。将套接字连接到设备上的本地地址
如何在设备上将数据从套接字发送到localhost:port
?
try
{
Socket socket = new Socket(InetAddress.getLocalHost(), 1500);
InputStream is = s.getInputStream();
OutputStream os = socket.getOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = is.read(buffer)) > 0)
{
if(is.available() > 1024){
os.write(buffer);
Log.i(TAG, "localSocket writing: " + buffer.length);
}
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
Log.e(TAG, "LocalSocketThread" + e.toString());
}
}
}
和我的清单权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
数据到达端口44444,现在我想通过套接字转发数据到本地主机。我试图连接到“10.0.2.2”,“127.0.0.1”,“本地主机”和自己的无线地址与DatagramSocket和套接字到这个地址。我知道他们是设备的环回地址,但我怎样才能连接到他们? – 2013-02-28 14:07:11
请发布你的'AndroidManifest.xml'和你的* full *方法代码。尝试一条线不构成尝试。 – Phil 2013-02-28 14:10:27
你的清单?你要求什么权限? – Phil 2013-02-28 14:21:04