2009-05-16 10 views
5

czy istnieje mały program roboczy do odbierania i wysyłania danych do klienta za pomocą java nio.jak zapisać dane do kanału gniazda

Właściwie nie jestem w stanie napisać do kanału gniazda, ale jestem w stanie odczytać danych przychodzących jak napisać danych do gniazda kanału

Dzięki Deepak

Odpowiedz

5

można zapisać danych na kanale gniazda jak więc:

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(); 
    } 
} 

Numer InetSocketAddress może się różnić w zależności od tego, z czym się łączysz.

+0

Dzięki John, Dzięki za wsparcie, to jest jeden z doskonałych programów. Mój błąd polegał na tym, że nie użyłem "\ n" na końcu mojego ciągu ... – Deepak

+0

Uważaj, zależy to od platformy. –

+0

Witam John Nie wspominasz o tym, który kanał gniazda platformy nie działa. – Deepak