ECHO TCP Server Client
来源:互联网 发布:benet集团网络拓扑图 编辑:程序博客网 时间:2024/05/01 13:02
//serverpackage com.test.javaSe02;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;import com.ctl.util.PropertiesUtil;public class ECHOServer {public static void main(String[] args) {ServerSocket server = null;int port = Integer.parseInt(PropertiesUtil.loadProperties("E:\\JavaWeb\\A\\src\\com\\test\\javaSe02\\tcp.properties").getProperty("port"));try {server = new ServerSocket(port);} catch (IOException e) {e.printStackTrace();}PrintStream out = null;BufferedReader br = null;while (true) {Socket client = null;try {client = server.accept();br = new BufferedReader(new InputStreamReader(client.getInputStream()));out = new PrintStream(client.getOutputStream());boolean flag = true;while (flag) {String str = br.readLine();if (str.equals("") || null == str)flag = false;else {if ("bye".equals(str.toLowerCase()))flag = false;elseout.println("server echo:" + str);}}} catch (IOException e) {e.printStackTrace();}}}}//clientpackage com.test.javaSe02;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.Socket;import java.net.UnknownHostException;import java.util.Properties;import com.ctl.util.PropertiesUtil;public class ECHOClient {public static void main(String[] args) {Properties pro = PropertiesUtil.loadProperties("E:\\JavaWeb\\A\\src\\com\\test\\javaSe02\\tcp.properties");Socket client = null;try {client = new Socket(pro.getProperty("ip"), Integer.parseInt(pro.getProperty("port")));} catch (IOException e) {e.printStackTrace();}try {PrintStream out = null;boolean flag = true;while (flag) {out = new PrintStream(client.getOutputStream());String str = javax.swing.JOptionPane.showInputDialog("message");//System.out.println(str);out.println(str);if (str.equalsIgnoreCase("bye"))flag = false;else {System.out.println(new BufferedReader(new InputStreamReader(client.getInputStream())).readLine());}}client.close();} catch (IOException e) {e.printStackTrace();}}}//PropertiesUtilpackage com.ctl.util;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.HashMap;import java.util.Map;import java.util.Properties;/** * @deprecated 该类可以用来创建properties资源文件 * @author Administrator * @see www.ctl.com.cn * @category SDGHDHSDFG * @serial dfgds */public class PropertiesUtil {/** * * @param propertityPath * 资源文件要存放的路径例如H:/mysql.properties * @param map * 将要写入的资源放入该map中 HashMap<String, String> * @param comment * 对在资源文件的描述 */public static void createPropertityFile(String propertityPath, String comment, Map<String, String> map) {File file = new File(propertityPath);new File(file.getParent()).mkdirs();Properties pro = new Properties();for (Map.Entry<String, String> entry : map.entrySet()) {pro.setProperty(entry.getKey(), entry.getValue());}try {pro.store(new FileOutputStream(propertityPath), comment);} catch (Exception e) {System.err.println("存储properties出错");}}/** * @param map * 将要写入的资源放入该map中 HashMap<String, String> * @param comment * 对在资源文件的描述 * @param propertityPath * 资源文件要存放的路径例如H:/mysql.xml */public static void createPropertityXMLFile(String propertityPath, String comment, Map<String, String> map) {File file = new File(propertityPath);new File(file.getParent()).mkdirs();Properties pro = new Properties();for (Map.Entry<String, String> entry : map.entrySet()) {pro.setProperty(entry.getKey(), entry.getValue());}try {pro.storeToXML(new FileOutputStream(propertityPath), comment,"utf-8");} catch (Exception e) {System.err.println("存储properties出错");}}/** * * @param filePath "H:/mysql.properties" * @return Properties的实例对象 */public static Properties loadProperties(String filePath){Properties pro=new Properties();try {pro.load(new FileInputStream(new File(filePath)));} catch (FileNotFoundException e) {System.err.println("文件未找到");e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return pro;}/** * * @param filePath "H:/mysql.xml" * @return Properties的实例对象 */public static Properties loadXMLProperties(String filePath){Properties pro=new Properties();try {pro.loadFromXML(new FileInputStream(new File(filePath)));} catch (FileNotFoundException e) {System.err.println("文件未找到");e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return pro;}/** * @param args */public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("a", "value1");map.put("b", "value2");map.put("c", "value3");String path="H:" + File.separator + "a//a/"+File.separator;createPropertityFile(path+"mysql.properties", "mysql数据库资源配置",map);createPropertityXMLFile(path+"mysql.xml", "mysql数据库资源配置",map);Properties pro=loadProperties(path+"mysql.properties");System.out.println(pro);pro=loadXMLProperties(path+"mysql.xml");System.out.println(pro);}}
0 0
- ECHO TCP Server Client
- twisted-01 Echo server and echo client
- TCP Echo Server(select)
- TCP echo server demo
- UDP Client Server Echo Example
- libuv库TCP echo-server
- java Tcp Client server
- linux tcp server client
- TCP:Server-Client程序
- gevent tcp server&client
- TCP Server/Client, Select
- TCP Socket Server Client
- tcp client and server
- golang tcp server client
- 采用epoll实现echo server和client
- java 多线程Echo server和client 例子
- libevent for echo server and client
- libevent for echo server and client
- Unity Shader笔记20140322——half4, _Time
- LoopExample改进版
- 数据挖掘学习笔记(4)
- 【BZOJ】【刷题合集】【P1066】【P2875】【P1927】【#3】
- linux系统中oom killer策略
- ECHO TCP Server Client
- 安装subversion
- 在lnmp下安装pureftpd及安装过程中错误的解决
- ActionBarSherlock SlidingMenu整合,解决SlidingMenu example的getSupportActionBar()方法不能用问题
- 又是一年、蓝桥。
- grub手动引导、修复win7 Mbr——oschina, GasLS
- 关于对培训生的歧视
- 配置Nginx支持php
- 核心载入失败: /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so