私はしばらくこの問題に取り組んでいます。受信側のソケットを介してデバイスからデバイスにデータを送信しています。このデータをソケットからデバイス自体に送信する必要があります。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"/>