2012-02-24 3 views
-1

私は、アンドロイドとPCの間の通信を確立してwi-fi経由でデータを転送する必要があるアプリケーションに取り組んでいました。私は2つのPCの間で無線で通信することができます。そこで、PC側からのコードが用意されています。私はアンドロイド側からWifiを使用するためのリファレンスが必要でした。ブルートゥースチャットに似た何かが役に立ちます。私はアンドロイドに存在するWifiネットワークをスキャンできますが、さらに進めることはできません。 乾杯してくださいアンドロイドとPCの間のWifiチャット

+1

を受けます。あなたはアンドロイドとPCの間で何を移したいですか? PCはどのOSで動作していますか?信頼性の高い(TCP)接続または信頼性の低い高速(UDP)接続が必要ですか? 「PC側」からコードを取得してAndroid用にすぐに使用できるようになることはほとんどありませんが、「OK、この接続は電話からのもの」と認識しても、いくつかの変更が必要になります。 – Dororo

+0

私はTCP接続が必要です。私はすでにTCPを使ってPCとBluetoothを接続しています。そして、PC側からのコードは、クライアントからの接続を待っているサーバーコードです。私はアンドロイドをクライアントとして働きたい。私は単純なプロトコルや画像のようなデータを転送しています。 PCのOSはWindowsです。 – ragz

答えて

0

あなたが達成しようとしていることを知らないと、より具体的にすることは困難ですが、このスニペットは短いデータバーストを受信します。

 DatagramSocket serverSocket = new DatagramSocket(PORTNUMBER); 
     byte[] receiveData = new byte[50]; 

     DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); 
     serverSocket.setSoTimeout(5000); 
     serverSocket.receive(receivePacket); 
        serverSocket.close(); 
1

この1つはあなたの質問があまりにも漠然としているファイル

private String ReceiveFile() { 

    try { 
     ServerSocket socket = new ServerSocket(port); 
     socket.setSoTimeout(5000); 
     Socket os = null; 

     try { 
      os = socket.accept(); 
     } catch (SocketTimeoutException t) { 
      if (!socket.isClosed()) socket.close(); 
      return "TIMEOUT"; 
     } 

     InputStream bos = os.getInputStream(); 
     FileOutputStream fos = new FileOutputStream(FILENAME); 
     DataOutputStream bw = new DataOutputStream(fos); 

     int Total = 0; 
     byte[] buffer = new byte[4096]; 
     int read; 
     while (true) { 
      read = bos.read(buffer); 
      if (read <= 0) break; 
      bw.write(buffer, 0, read); 
      Total = Total + read; 
     } 

     if (!socket.isClosed()) socket.close(); 
     return "SUCCESS"; 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return "FAILURE"; 
    } 
} 
関連する問題