socket通信笔记

----------------------nio非阻塞socket编程------------------------------------------------------------------

import java.net.InetSocketAddress;

import java.nio.channels.Selector;

import java.nio.channels.ServerSocketChannel;

import java.nio.channels.SocketChannel;

建服务器端:

    ServerSocketChannel server = ServerSocketChannel.open();

    server.configureBlocking(false);

server.socket().bind(new InetSocketAddress(8888)); 

  

Selector selector = Selector.open();

server.register(selector, SelectionKey.OP_ACCEPT);

建客户端:

    SocketChannel sc = SocketChannel.open(); 

    sc.configureBlocking(false); 

    sc.connect(new InetSocketAddress("localhost", 8888)); 

    

    Selector selector = Selector.open(); 

    sc.register(selector, SelectionKey.OP_CONNECT); 

------------------------------------------------------------------------------

socket编程:若在接收方使用的是BufferedReader类中的readLine()方法则在发送方注意要加“/n”因为readLine()是以读到换行为结束的若不加“/n”则接收方一直在等待,此情况下发送方也可以使用PrintWriter类中的println方法

猜你喜欢

转载自yjy110.iteye.com/blog/2175507