2009-05-16 4 views
5

есть ли небольшая рабочая программа для получения и отправки данных клиенту с помощью java nio.как записать данные в сокетный канал

На самом деле я не в состоянии написать розетку канал, но я могу читать входящие данные , как записывать данные в сокет канала

Благодаря Дипак

ответ

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 может варьироваться в зависимости от того, что вы подключаетесь.

+0

Thanks John, Спасибо за вашу поддержку. Yhis - одна из отличных программ. Моя ошибка: я didi не использовал «\ n» в конце моей строки ... – Deepak

+0

Будьте осторожны, это зависит от платформы. –

+0

Привет, Джон Может у вас упомянуть, на какой канале сокета платформы не работает. – Deepak