Java Socket通信
来源:互联网 发布:科荣纺织软件 编辑:程序博客网 时间:2024/06/13 19:13
最近复习Java,Socket编程这块看了一下博客园里面的资料,写了一个模拟Java聊天室的通信程序;
Client.javaimport java.io.*;import java.net.*;public class Client {public static void main(String args[]){try{Socket socket=new Socket("127.0.0.1",4700);//客户端向4700端口发出请求;BufferedReader sin=new BufferedReader(new InputStreamReader(System.in)); //由系统标准输入设备构造BufferedReader对象; PrintWriter os=new PrintWriter(socket.getOutputStream());//由socket对象得到输出流,并构造一个PrintWriter对象;BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));//由socket对象得到输入流,并且构造BufferedReader对象;String readline;readline=sin.readLine();//从系统标准输入设备输入一串字符串;while(!readline.equals("byebye")){os.println(readline);//将读入的字符串输出到server端;os.flush();//刷新输出流,让server端马上接收到字符串;System.out.println("客户端信息:"+readline);//在系统标准输出上打印读入的字符串;System.out.println("服务端信息:"+is.readLine());//从Server读入一字符串,并打印到标准输出上readline=sin.readLine(); //从系统标准输入读入一字符串}os.close();//关闭输出流;is.close();//关闭输入流;socket.close();//关闭socket;}catch (Exception e){System.out.println("Error Occured"+e);}}}Server.javaimport java.io.*;import java.net.*;import java.applet.Applet;public class Server {public static void main(String args[]){try{ServerSocket server=null;try{server=new ServerSocket(4700);//监听4700端口的请求;}catch (Exception e){System.out.println("can't Listen port "+e);}Socket socket=null;//使用accept方法阻塞等待客户请求,有客户请求过来就产生一个socket对象;try{socket=server.accept();}catch(Exception e){System.out.println(e);}String line;BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));//由socket得到输入流,构建一个BufferedReader对象;PrintWriter os=new PrintWriter(socket.getOutputStream());//由socket得到输出流,构建一个Printwriter对象;BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));//由系统标准输入设备构造Bufferedreader对象;System.out.println("客户端:"+is.readLine());line=sin.readLine();//从标准输入度一串字符串;while(!line.equals("byebye")){os.println(line);//向客户端输出该字符串;os.flush();//刷新输出流,让客户端迅速接收到输出信息;System.out.println("服务端:"+line);//在系统标准输出上打印读入的字符串System.out.println("客户端:"+is.readLine());//从Client读入一字符串,并打印到标准输出上line=sin.readLine();//从系统标准输入读入一字符串}os.close(); //关闭Socket输出流is.close(); //关闭Socket输入流socket.close(); //关闭Socketserver.close(); //关闭ServerSocket}catch(Exception e){System.out.println("Error!"+e);}}}Tips:应该先启动Server端,再启动Client端,然后再互相发送消息,否则不能正常连接.
0 0
- java - socket通信 客户端
- java socket 通信
- Java Socket 通信
- java Socket通信(一)
- java Socket通信实例
- Java Socket通信
- PHP Java Socket 通信
- Java NIO Socket通信
- java的socket通信
- Java NIO Socket通信
- java socket通信
- Java 中 Socket 通信
- Java网络通信Socket
- JAVA socket通信
- Java中的Socket通信
- java socket通信
- java socket通信
- java Socket通信
- windows核心编程--内核对象和句柄泄漏
- 获取spring环境上下文
- Android之I/O篇以及目录该放在什么位置
- 华为 14
- mysql中explain用法和结果的含义
- Java Socket通信
- java中的垃圾回收机制
- Java中的反射(1)
- APM调试,地面站随手记
- Windows虚拟机中配置 域网络 遇到的问题
- JMeter压测基础篇:linux服务器执行压测三部曲之三
- nginx配置自定义404界面
- Python 之 __new__() 方法与实例化
- Dalvik虚拟机进程和线程的创建过程分析