【Java网络编程】Socket的使用
2016-04-03 16:32
609 查看
1. Server.java
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { BufferedReader br = null; PrintWriter pw = null; try { ServerSocket server = new ServerSocket(2000); Socket socket = server.accept(); br = new BufferedReader(new InputStreamReader(socket.getInputStream())); pw = new PrintWriter(socket.getOutputStream(), true); while(true){ String s = br.readLine(); if(s.trim().equals("exit")){ pw.println("granted"); break; } pw.println("Server:\t" + s); } server.close(); } catch (Exception e) { e.printStackTrace(); } finally { try { br.close(); pw.close(); } catch (IOException e) { e.printStackTrace(); } } } }
2. Client.java
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner; public class Client { public static void main(String[] args) { BufferedReader br = null; PrintWriter pw = null; try { Socket socket = new Socket("localhost", 2000); br = new BufferedReader(new InputStreamReader(socket.getInputStream())); pw = new PrintWriter(socket.getOutputStream(), true); pw.println("Hello!"); Scanner scan = new Scanner(System.in); String s; while(true){ s = null; while(true){ s = br.readLine(); if(s != null) break; } if(s.trim().endsWith("granted")) break; System.out.println(s); System.out.print("Client:\t"); s = scan.nextLine(); pw.println(s); } scan.close(); socket.close(); } catch (Exception e) { e.printStackTrace(); } finally { try { br.close(); pw.close(); } catch (Exception e2) { } } } }
3. snapshot of output.
相关文章推荐
- 【unp】unix网络编程卷1-->环境搭建(ubuntu14.04)
- 拥塞避免算法和慢启动算法的共同作用
- 计算机网络overview-2
- Android网络与数据存储_学习笔记_第六周:SQLite与ContentProvider
- Tilera多线程网络编程总结
- 以太网,IP,TCP,UDP数据包分析
- jboss tomcat 配置https请求方式
- 虚拟机三种网络连接方式
- Oracle的本地网络服务名配置
- 深度网络的设计与可视化工具
- 深度网络的框架结构
- android 网络技术基础学习 (七)
- TCP状态转换图
- 网络常用英语术语精选
- 关于网络时间同步
- VMware12中的Linux系统利用NAT网络连接方式访问外网配置
- APP Inventor网络微数据库tinywebdb的增删查改
- Java-HTTP访问网络
- android6.0以后删除HttpClient的解决方法
- jquery uploadify在IE上传报406HttpError