2009-05-16 13 views
5

hay algún pequeño programa de trabajo para recibir y enviar datos al cliente utilizando java nio.cómo escribir datos en el canal de socket

En realidad soy incapaz de escribir en canal de toma, pero yo soy capaz de leer los datos de entrada cómo escribir datos a la toma del canal

Gracias Deepak

Respuesta

5

Puede escribir datos en un canal de zócalo como por lo que:

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

El InetSocketAddress puede variar dependiendo de lo que se está conectando.

+0

Gracias John, Gracias por su apoyo yhis es uno de los excelentes programas. Mi error fue que no utilicé "\ n" al final de mi cadena ... – Deepak

+0

Tenga cuidado, depende de la plataforma. –

+0

Hola Juan ¿Puedes mencionar en qué plataforma socket canal no funciona. – Deepak

Cuestiones relacionadas