zoukankan
html css js c++ java
对于C/S应用的小结【原创】
年初做了个C/S的项目,当时找了一把的资料,整理整理,写了个例子出来,今天一看,好像不怎么样,不够通用,于是就操起Eclipse,把它给改造了,抽出业务逻辑的具体处理,一个是AbstractServerHandle (抽象类),一个是ClientHandleImpl(接口),加入线程池(以前写的一个小东西),再把log4j给弄进去,就有了最终的csComm.jar。
在这里,源码公开也没什么必要了,厉害的根本就不会看,新手就直接用这个包好了,如果真的有必要的话,是可以发布源码的,看需要的人多不多。
要实现c/s交互,需要实现那个接口(ClientHandleImpl)以及继承那个抽象类(AbstractServerHandle ),然后实例化Server及Client,就可以了,下面是示例代码:
package
com.cnblogs.zxub.csDemo;
import
java.net.Socket;
import
java.util.ArrayList;
import
java.util.List;
import
com.cnblogs.zxub.csComm.server.AbstractServerHandle;
/** */
/**
*
@author
zxub 2006-7-20 下午04:37:51
*/
public
class
ServerHandle
extends
AbstractServerHandle
{
public
void
showMessage(String msg)
{
System.out.println(msg);
}
public
void
handle(String command, Socket socket)
{
System.out.println(
"
get client command:
"
+
command);
List msgList
=
new
ArrayList();
msgList.add(
"
get [
"
+
command
+
"
]
"
);
this
.sendMsgToClient(msgList, socket);
}
}
package
com.cnblogs.zxub.csDemo;
import
java.net.Socket;
import
com.cnblogs.zxub.csComm.client.ClientHandleImpl;
/** */
/**
*
@author
zxub 2006-7-20 下午04:41:21
*/
public
class
ClientHandle
implements
ClientHandleImpl
{
public
void
handle(String reply, Socket socket)
{
showMessage(
"
get server reply:
"
+
reply);
}
public
void
showMessage(String msg)
{
System.out.println(msg);
}
}
package
com.cnblogs.zxub.csDemo;
import
com.cnblogs.zxub.csComm.server.Server;
/** */
/**
*
@author
zxub 2006-7-20 下午04:43:49
*
*/
public
class
ServerTest
{
public
static
void
main(String[] args)
{
Server server
=
new
Server(
8888
,
new
ServerHandle());
new
Thread(server).start();
}
}
package
com.cnblogs.zxub.csDemo;
import
com.cnblogs.zxub.csComm.client.Client;
/** */
/**
*
@author
zxub 2006-7-20 下午05:02:57
*
*/
public
class
ClientTest
{
public
static
void
main(String[] args)
{
Client client
=
new
Client(
"
127.0.0.1
"
,
8888
,
new
ClientHandle());
new
Thread(client).start();
client.setSendingMsg(
"
test
"
);
client.setSendingMsg(
"
test2
"
);
}
}
运行后就有效果了。
csDemo下载
,实例代码没用线程池,尽管也在那个包里,只是演示。
查看全文
相关阅读:
操作系统 实验一 命令解释程序的编写
软件工程 《构建之法》1、2、3章读后感
软件工程实验一 复利计算 第四次实验
软件工程实验一 复利计算(第三次实验实验总结)
软件工程实验一 复利计算
实验0 了解和熟悉操作系统
团队工作总结及自评 & 补上来的用户调研
四则运算安卓版ver.mk2
安卓版四则运算
每日更新
原文地址:https://www.cnblogs.com/zxub/p/455831.html
最新文章
熟悉Linux常用命令 (慢慢完善)
关于Android Studio打包混淆以及上传mapping文件
ubuntu 修改hosts文件
linux下为目录和文件设置权限,
一些简单的shell脚本实例 转
Android项目中如何用好构建神器Gradle?
关于Android开发中的证书和密钥等问题 转
JAVA 获取系统环境变量
循环跳出多层循环
Java---算法---插入排序
热门文章
获取指定目录中指定文件类型
Java7 新特性 数值文本表示法
Java7 新特性 switch 可以使用String
win下Maven安装和基本设置
Maven搭建webService (二) 创建服务端---使用web方式发布服务
Maven搭建webService (一) 创建服务端---使用main函数发布服务
Flex 教程(1)-------------控件拖动
软件工程实验一 复利计算5.0——结队编程
软件工程 《构建之法》 第四章读后感
软件工程实验一 复利计算——单元测试
Copyright © 2011-2022 走看看