java网络编程
来源:互联网 发布:linux jar 输出 编辑:程序博客网 时间:2024/06/07 10:40
一个回显从标准输入的程序
package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class test {public String echo(String msg){return "echo:"+msg;}public void talk()throws IOException{BufferedReader br=new BufferedReader(new InputStreamReader(System.in));String msg=null;while((msg=br.readLine())!=null){System.out.println(echo(msg));if(msg.equals("byr"))break;}}public static void main(String[] args)throws IOException{new test().talk();}}
文中在java虚拟机中启动了test进程,控制台与进程通信。
将上面的例子升级
import java.io.*;import java.net.*;public class EchoServer { private int port=8000; private ServerSocket serverSocket; public EchoServer() throws IOException { serverSocket = new ServerSocket(port); System.out.println("服务器启动"); } public String echo(String msg) { return "echo:" + msg; } private PrintWriter getWriter(Socket socket)throws IOException{ OutputStream socketOut = socket.getOutputStream(); return new PrintWriter(socketOut,true); } private BufferedReader getReader(Socket socket)throws IOException{ InputStream socketIn = socket.getInputStream(); return new BufferedReader(new InputStreamReader(socketIn)); } public void service() { while (true) { Socket socket=null; try { socket = serverSocket.accept(); //等待客户连接 System.out.println("New connection accepted " +socket.getInetAddress() + ":" +socket.getPort()); BufferedReader br =getReader(socket); PrintWriter pw = getWriter(socket); String msg = null; while ((msg = br.readLine()) != null) { System.out.println(msg); pw.println(echo(msg)); if (msg.equals("bye")) //如果客户发送的消息为“bye”,就结束通信 break; } }catch (IOException e) { e.printStackTrace(); }finally { try{ if(socket!=null)socket.close(); //断开连接 }catch (IOException e) {e.printStackTrace();} } } } public static void main(String args[])throws IOException { new EchoServer().service(); }}
定义一个服务器,来回显客户的数据
0 0
- 【网络编程】JAVA网络编程
- java网络编程:网络基本概念
- Java网络编程-UDP编程
- Java 高层网络编程
- Java网络编程2
- Java网络编程3
- Java网络编程4
- Java网络服务器编程
- java网络编程1
- java网络编程2
- JAVA网络编程
- Java网络服务器编程
- java网络编程
- Java 高层网络编程
- Java 高层网络编程
- Java网络服务器编程
- Java网络编程
- JAVA网络编程
- 2013大数据揽金186亿
- JAVA中的接口和抽象类(转)
- DNN6 目录结构
- 【C语言代码】链表的简单建立
- tomcat 启动正常 不能访问
- java网络编程
- java通过文件头内容判断文件类型
- windows 下-c语言获得目录下特定类型的文件名
- \r终端输出的问题
- MFC菜单消息漫谈
- 我不是个内向的程序员,我只是很忙
- Android Fragment (with Compatibility Package on 2.3.3) creates “Specified child already has a parent
- YII-在CGridview显示的字段上面加上带参数的链接
- Android部分开源项目源码分析之--ListView 图片顶部模糊的高斯处理