Java Socket简单的客服端及其服务器端
来源:互联网 发布:ipmsg linux 编辑:程序博客网 时间:2024/06/03 21:35
最近给别人写了个服务器读文件,然后传到客服端,客服端收到消息再写到客服机器中的一个socket程序,socket传输协议用的是TCP,读文件和写文件的路径都用properties配置文件来配置。
客服端文件源代码如下:
package javaSocket;
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
public class SocketClient{
private Socket skClient;
public SocketClient(){
}
public void clientCreate(){
InputStream in;
try {
in = new BufferedInputStream(new FileInputStream("d:\\test.properties"));
Properties p = new Properties();
p.load(in);
String path = p.getProperty("path1");
FileOutputStream fos = new FileOutputStream(path);
skClient = new Socket(InetAddress.getLocalHost(),8888);
System.out.println("向服务器发出链接请求!");
copyStream(skClient.getInputStream(),fos);
skClient.close();
fos.close();
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void copyStream(InputStream is, OutputStream os) throws IOException {
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
line = reader.readLine();
while (line != null) {
writer.println(line);
line = reader.readLine();
}
writer.flush();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new SocketClient().clientCreate();
}
}
服务器端的源代码如下:
package javaSocket;
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
public class SocketServer extends Thread{
private Socket skServer;
public SocketServer(Socket s){
this.skServer = s;
}
public void run(){
InputStream in;
try {
in = new BufferedInputStream(new FileInputStream("d:\\test.properties"));
Properties p = new Properties();
p.load(in);
String path = p.getProperty("path2");
FileInputStream fis = new FileInputStream(path);
copyStream(fis,skServer.getOutputStream());
skServer.close();
fis.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void copyStream(InputStream is, OutputStream os) throws IOException {
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
line = reader.readLine();
while (line != null) {
writer.println(line);
line = reader.readLine();
}
writer.flush();
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket server = new ServerSocket(8888);
System.out.println("服务器已经启动,已处于监听状态......");
while(true){
SocketServer ss = new SocketServer(server.accept());
System.out.println("成功响应客服端!");
ss.start();
}
}
}
配置属性文件test.properties:
path1=D:\\123.txt
path2=D:\\456.txt
因为写的时间比较急,所以很多地方需要修改。基本功能已经实现了。有兴趣就可以再修改完善。
- Java Socket简单的客服端及其服务器端
- socket套接字写的简单客服、服务器端
- Socket客服端的编程
- Java 简单的Socket通讯的服务器端实现
- Java Socket 客户端与服务器端的简单交互
- java--通过socket和多线程进行多个客服端与服务器的简单通讯--基于tcp
- Java 客服端,服务器端,数据库,开发环境 中文乱码问题
- java编程,网络编程,客服端向服务器端发送数据
- socket编程(二)---- 简单的服务器端
- Socket 服务器端 简单实例
- 一个简单的服务器客服端通信
- socket连接 java服务器端 C#客户端进行交互 简单例子
- java Socket 封装服务器端
- java socket服务器端例子
- 客服端\服务器端程序(实现BBS)
- SOCKET 模拟HTTP客服端
- SOCKET 模拟 HTTPS客服端
- c++Socket简单通信服务器端
- Java解析xml配置文件合成器
- 利用dom4j进行XML解析实例
- Binding to the Most Recent Visual Studio Libraries
- tomcat详解及其配置
- HTTP 状态代码及其定义
- Java Socket简单的客服端及其服务器端
- Java web做服务器之间的通信方法
- 冒泡排序
- Hadoop笔记 2 HDFS
- properties配置文件读取方法
- Java 用Myeclipse部署项目基础坏境搭建
- 今天开始深入学习XML
- xml简介---来自百度百科
- DBUnit的使用