如何将数据写入套接字通道

时间:2009-05-16 07:08:04

标签: java nio

是否有任何小型工作程序可以使用java nio从客户端接收和发送数据。

实际上我无法写入套接字通道,但我能够读取传入的数据 如何将数据写入套接字通道

由于 迪帕克

1 个答案:

答案 0 :(得分:5)

您可以将数据写入套接字通道,如下所示:

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可能会因您所连接的内容而异。