2009-05-16 6 views
5

Y at-il un petit programme de travail pour recevoir et envoyer des données au client en utilisant java nio.comment écrire des données sur le canal socket

En fait, je suis incapable d'écrire sur le canal de prise mais je suis capable de lire les données entrantes comment écrire des données sur le canal socket

Merci Deepak

Répondre

5

Vous pouvez écrire des données sur un canal de prise comme si:

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

Le InetSocketAddress peut varier en fonction de ce que vous vous connectez.

+0

Merci John, Merci pour votre soutien, c'est l'un des excellents programmes. Mon erreur est que je n'ai pas utilisé "\ n" à la fin de ma chaîne ... – Deepak

+0

Attention, c'est dépendant de la plate-forme. –

+0

Salut John Pouvez-vous mentionner sur quel canal socket socket ne fonctionne pas. – Deepak

Questions connexes