Java的socket编程

来源:互联网 发布:get it beauty2016 编辑:程序博客网 时间:2024/05/24 23:13

一、原理

服务器端用serversocket对象监控端口。客户端用socket对象发送请求来建立连接,当服务器端收到请求后,用accecpt()方法生成socket对象来建立连接。

二、客户端发送、接受示例

package grammar;import java.io.*;import java.net.*;public class MyServer {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubBufferedReader br = null;PrintWriter pw = null;//端口监测对象监测端口;当有请求时生成socket,建立连接ServerSocket server = new ServerSocket(8000);Socket socket = server.accept();//执行到此方法时,线程阻塞。后面的方法先不执行
//从socket中获取输入、输出对象br = new BufferedReader(new InputStreamReader(socket.getInputStream()));pw = new PrintWriter(socket.getOutputStream(), true);//得到输入String str = br.readLine();System.out.println("server:" + str);pw.println(str);//释放输入输出资源br.close();pw.close();}}
package grammar;import java.io.*;import java.net.*;public class MyClient {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubBufferedReader br = null;PrintWriter pw = null;//socket对象表示两台电脑之间的网络连接Socket socket = new Socket("localhost",8000);//从socket中获得输入、输出对象br = new BufferedReader(new InputStreamReader(socket.getInputStream()));pw = new PrintWriter(socket.getOutputStream(), true);//输出pw.println("hell0! I'm zp.");pw.flush();String str = null;while(true){//得到输入str = br.readLine();if(str != null){break;}}System.out.println("client:" + str);//释放输入输出资源br.close();pw.close();}}



0 0
原创粉丝点击