我已经困扰于这个问题一段时间了。我正在通过套接字从设备发送数据到另一个设备,当接收方收到数据时,我必须将这些数据从套接字发送到设备本身。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"/>
AndroidManifest.xml
和完整的方法代码。尝试一行并不构成尝试。 - Phil