1

私は自分のPCをサーバーとして使用し、ソケットを作成するだけです。そして、クライアントソースでは、PCに接続するソケットを作成するだけです。しかし、携帯電話でアプリを開くと、アプリが停止していることが表示されます...プロジェクトにインターネットの許可を追加しました。

サーバ

public class Server extends Thread{
    private Socket client;

    public Server(Socket c){
        this.client = c;
    }


    public void run(){
        try{    
            //System.out.println("Start!");
            BufferedReader in = 
                    new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintWriter out = new PrintWriter(client.getOutputStream());
            while(true){
                String str = in.readLine();
                System.out.println(str);
                out.println("has receive...");
                out.flush();
                if(str.equals("end"))
                    break;
            }
            client.close();

        }
        catch(IOException ex){
        }finally{
        }
    }

    public static void main(String[] args) throws IOException{
        ServerSocket server = new ServerSocket(2345);
        System.out.println("Start!");       
        while (true){
            Server sv = new Server(server.accept());
            sv.start();
        }
    }
}

クライアント:

public class MainActivity extends Activity {


    Socket socket;
    DataInputStream dis;
    DataOutputStream dos;

    private TextView tv;
    private Button bt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv = (TextView) findViewById(R.id.TextView1);
        bt = (Button) findViewById(R.id.button1);
        bt.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                try{
                    socket = new Socket("155.69.149.221",2345);
                    tv.setText("Connected!");
                }catch(IOException ioe){

                }

            }
        });

    }



}
4

0 に答える 0