JAVA socket 编程

来源:互联网 发布:跟踪路由 linux 编辑:程序博客网 时间:2024/05/18 23:14

server端 : 4 steps

1.  新建一个SocketServer对象:

SocketServer server=new SocketServer(portNumber,queueLength);//如果是一对一通信,可以不指定等待队列长度

//portNumber: 指定服务器在该端口上监听来自客户端的连接,0-65535,但一般1024以下的端口号保留为特殊作用

//queueLength:指定最大连接数


2. 服务端监听连接

Socket connection=server.accept();

通过这个Socket可以和客户端进行通信,对于服务端而言,每个client都是一个Socket的对象


3. 使用socket的getInputStream() 和getOutputStream()方法,进行通信

//接收客户端发来的消息:

br=new BufferedReader(new InputStreaReader(connection.getInputStream()));  //br.readLine()

//发送返回信息,

pw=new BufferedWriter(new InputStreaWriter(connection.getOutputStream()),true);  //pw.flush()


4. 关闭流和socket close()

br.close();

pw.close();

connection.close();


client 端: 3 steps

1. 新建Socket对象用来连接服务端

Socket connection=new Socket(serverAddress,portNumber);

//连接成功则返回一个Socket对象,否则抛出一个IOException的子类


2.  使用socket的getInputStream() 和getOutputStream()方法,进行通信

//接收客户端发来的消息:

br=new BufferedReader(new InputStreaReader(connection.getInputStream()));  //br.readLine()

//发送返回信息,

pw=new BufferedWriter(new InputStreaWriter(connection.getOutputStream()),true);  //pw.flush()


3. 关闭流和socket close()

br.close();

pw.close();

connection.close();



完整例子

可参考  :http://blog.csdn.net/gxy3509394/article/details/7899923