私はこれらの質問のいくつかを見てきましたが、答えのどれも私の問題を解決していないようです。クライアント(Androidフォン、実際には物理デバイスを持っています)からサーバー(PC)にメッセージを表示したい。私は非常にシンプルなPCサーバーを持っています:
public void run(int port) throws Exception
{
ServerSocket ss = new ServerSocket(port);
Socket sock = ss.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(sock.getInputStream()));
System.out.println(reader.readLine());
}
(私の主な空白で):
Server s = new Server();
s.run(4444);
そして、非常にシンプルなAndroidクライアント:
package com.j03.client;
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.io.*;
import java.net.*;
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{
runClient("10.0.2.2", 4444, "hey");
}
catch (Exception e)
{
TextView t = new TextView(this);
t.setText(e.getMessage());
setContentView(t);
}
}
public static void runClient(String ip, int port, String message) throws Exception
{
Socket sock = new Socket(ip, port);
PrintStream ps = new PrintStream(sock.getOutputStream());
ps.println(message);
}
}
マニフェストファイルにも適切なインターネット権限があります。
<uses-permission android:name="android.permission.INTERNET"/>
また、クライアントコードはPCクライアントとして正常に機能します。(PCクライアントからPCサーバーへの接続は正常に機能します)。
しかし、Androidで動作させることはできません!
PCサーバーは単に何も表示しません。:(
誰かが私が間違っている可能性があることを知っていますか?