2009-05-16 6 views
5

にデータを書き込む方法は、java nioを使用してクライアントからデータを受信して​​クライアントに送信するための小さな作業プログラムです。ソケットチャネル

実際にあなたが好きなソケットチャネルにデータを書き込むことができます

おかげ ディーパック

答えて

5

を私は、ソケットチャネルに書き込むことができませんが、私はチャンネルをソケットにデータを書き込む方法を着信データ を読み取ることができていますso:

import java.nio.*; 
import java.nio.channels.*; 
import java.nio.charset.*; 

public class SocketWrite { 

    public static void main(String[] args) throws Exception{ 

    // create encoder 
    CharsetEncoder enc = Charset.forName("US-ASCII").newEncoder(); 

    // create socket channel 
    ServerSocketChannel srv = ServerSocketChannel.open(); 

    // bind channel to port 9001 
    srv.socket().bind(new java.net.InetSocketAddress(9001)); 

    // make connection 
    SocketChannel client = srv.accept(); 

    // UNIX line endings 
    String response = "Hello!\n"; 

    // write encoded data to SocketChannel 
    client.write(enc.encode(CharBuffer.wrap(response))); 

    // close connection 
    client.close(); 
    } 
} 

InetSocketAddressは接続先によって異なる場合があります。

+0

おかげでジョンは、あなたのサポートyhisため おかげで優れたプログラムの一つです。 私の間違いは、文字列の最後に "\ n"を使用しなかったことです... – Deepak

+0

プラットフォームに依存しているので注意してください。 –

+0

こんにちはJohnあなたはどのプラットフォームのソケットチャンネルがうまく動作しないか説明できます。 – Deepak

関連する問題