javasocket客户端与服务端同步通信实例

上传人:re****.1 文档编号:483644626 上传时间:2023-12-13 格式:DOC 页数:14 大小:63KB
返回 下载 相关 举报
javasocket客户端与服务端同步通信实例_第1页
第1页 / 共14页
javasocket客户端与服务端同步通信实例_第2页
第2页 / 共14页
javasocket客户端与服务端同步通信实例_第3页
第3页 / 共14页
javasocket客户端与服务端同步通信实例_第4页
第4页 / 共14页
javasocket客户端与服务端同步通信实例_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《javasocket客户端与服务端同步通信实例》由会员分享,可在线阅读,更多相关《javasocket客户端与服务端同步通信实例(14页珍藏版)》请在金锄头文库上搜索。

1、javasocket 客户端与服务端同步通信实例工作中没涉及有关JAVA SOCKET 编程的实际经历,但理论大概了解。想正明一下自已的对JAVA SOCKET 理解写个通信 TEST,通过 TEST 验证了基本与理论相近。下面是TEST SRC CODE如果有牛人指点一二在下谢谢了,想写个类似 QQ 的局网通信程序,可没有太多时间如果您有JAVASRC CODE 请与我联系。1.开发工具: eclips3.22.工程基本结构:2.1 工程名: SocketTest2.2 包 test1.service 含类功能说明:2.2.1 KKMultiServerThread服务端多线程处理类.2.2

2、.2 KnockKnockProtocol双方通信协义处理类。2.2.3 KnockKnockProtocolFace双方通信协义处理接口。2.2.4 MyService服务端监听处理主方法类。2.2.5 MyClient客户端主方法类。2.3 包 test1.error 含类功能说明:2.3.1 ResponseError 服务端处理客户端响应异常类。3.工程基本结构具体说明及原码。2.1 工程名: SocketTest2.2 包 test1.service 含类功能说明:2.2.1 KKMultiServerThread服务端多线程处理类.package test1.service;imp

3、ort java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .InetAddress;import .Socket;import test1.error.ResponseError;/* 作者:刘家鸽* 功能:服务端处理客户端请求返回响应(多线程)*/public class KKMultiServerThread extends Thread private Socket clentSocket = null;

4、private KnockKnockProtocol kkpf = null;private PrintWriter pw = null;private BufferedReader bir = null;public KKMultiServerThread() super(KKMultiServerThread);public KKMultiServerThread(Socket clentSocket) super(KKMultiServerThread);this.clentSocket = clentSocket;public KKMultiServerThread(Socket cl

5、entSocket, KnockKnockProtocolFace kkpf) super(KKMultiServerThread); this.clentSocket = clentSocket; this.kkpf = (KnockKnockProtocol) kkpf;public Socket getClentSocket() return clentSocket;public void setClentSocket(Socket clentSocket) this.clentSocket = clentSocket; public KnockKnockProtocol getKkpf

6、() return kkpf;public void setKkpf(KnockKnockProtocol kkpf) this.kkpf = kkpf;/ 运行线程public void run() try pw = new PrintWriter(clentSocket.getOutputStream();bir = new BufferedReader(new InputStreamReader(clentSocket.getInputStream();String request = bir.readLine();System.out.println( 客户端请求: + request

7、);InetAddress ia = clentSocket.getInetAddress();System.out.println( 客户端 ip:+ia.getHostAddress();String response = kkpf.processInput(request);/ 向客户端发送System.out.println( 返回客户端响应: + response); kkpf.sendResponse(pw, response); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace();

8、 catch (ResponseError e) / TODO Auto-generated catch block e.printStackTrace(); finally try System.out.println( 关闭客户与服务端的连接 );this.pw.close();this.bir.close();this.clentSocket.close(); catch (Exception e) e.printStackTrace();2.2.2 KnockKnockProtocol 双方通信协义处理类。package test1.service;import java.io.Pri

9、ntWriter;import test1.error.ResponseError;/* 作者:刘家鸽* 功能:协义处理类*/public class KnockKnockProtocol implements KnockKnockProtocolFace private String response = null;/获得客户端协义public String processInput(String request) throws ResponseErrorif(request.equalsIgnoreCase(KnockKnockProtocolFace.QUERY_USER) respon

10、se = this.processQUERY_USER(request); else response =KnockKnockProtocolFace.NOT_EXIST_REQUEST_PROTOC OL_ERROR;return this.response;/处理 QUERY_USER 协义public String processQUERY_USER(String request) throws ResponseError this.response = this.QUERY_USER_SUCCEED_INFO; return this.response;/ 发送服务端请求public

11、void sendResponse(PrintWriter pw, String response)throws ResponseError pw.println(response);pw.flush();2.2.3 KnockKnockProtocolFace双方通信协义处理接口。package test1.service;import java.io.PrintWriter;import test1.error.ResponseError;/* 作者:刘家鸽* 功能:协义处理类接口*/public interface KnockKnockProtocolFace /此属性没有从数据库或属性

12、文件中读取。public static final String EXIT = EXIT;public static final String QUERY_USER = QUERY_USER;public static final String ERROR = ERROR;public static final String QUERY_USER_ERROR_INFO =QUERY_USER_ERROR;public static final String QUERY_USER_SUCCEED_INFO =QUERY_USER_SUCCEED;public static final StringNOT_EXIST_REQUEST_PROTOCOL_ERROR =NOT_EXIST_REQUEST_PROTOCOL_ERROR; public String processInput(String request) throws ResponseError;public String processQUERY_USER(String request) throws ResponseError;public void sendResponse(PrintWriter pw,String response)thro

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号