java swing cs项目_JavaSwing课设用CS架构框架

本文介绍了使用Java Swing构建的CS架构项目,重点讲解如何利用JSONObject处理网络连接。项目包括客户端和服务端,客户端通过创建`ClientFunction`实例发送请求,服务端通过实现`FunInterface`接口处理请求。通过`Envelope`类封装请求和响应,代码示例展示了注册功能的实现。
摘要由CSDN通过智能技术生成

JavaSwing课设用CS架构框架

描述

用于Java Swing的CS架构项目,需要使用JSONObject来协助实现功能,主要目标是简化网络连接的部分

目录结构

核心的文件如下:

server

|-Envelope 信封类

|-FunInterface 功能接口

|-ServerFunction 连接框架

client

|-Envelope 信封类

|-ClientFunction 请求类

使用方式

客户端

当需要发送一个请求到服务端时,实例化一个ClientFunction,参数分别是服务器IP和端口

ClientFunction test=new ClientFunction("127.0.0.1", 10000);//新建一个请求类

发送请求的时候,首先要构造一个信封类,其中格式需要与服务端进行协商,通常情况下,客户端发送的Envelope的code表示请求类型,object表示携带的信息,message可以用来传输某种文字信息

如:

JSONObject json=new JSONObject();//将数据放入

json.put("username", "test");//放入数据

json.put("password", "1256");

Envelope enve=new Envelope(0,"success",json);//新建信封,code为0表示为注册

发送请求,并接受服务端的响应

Envelope res=test.sendRequest(enve);

从服务器取出返回的Envelope,并根据code判断返回情况再进行相应处理,通常,code为0表示成功,可以从object里取出服务器返回的对象并进一步处理,否则不成功,并可以直接取出其message的信息返回给用户

if(res.getCode()==0){//如果服务器响应状态为0

System.out.println("注册成功");//注册成功

}else{//否则

System.out.println(res.getMessage());//打印失败原因

}

服务端

具体服务的实现类需要集成FunInterface接口并实现deal方法,它会传入一个参数,是来自客户端的信封,因此首先将信封实例化

@Override

public String deal(String str) {

Envelope env=new Envelope(str);//首先将请求实例化,便于进一步处理

根据客户端发来的信封的code值判断处理方式,并进行处理,最后返回仍为Envelope对象

JSONObject json=JSONObject.fromObject(env.getObject());

if(env.getCode()==0){//如果是处理注册

if(userList.get(json.getString("username"))!=null){//如果用户名已经被注册

return new Envelope(1,"用户名已被注册",null).toString();//返回相关信息

}

userList.put(json.getString("username"),json.getString("password"));//放入一个用户名--密码对

System.out.println("当前数据库信息为"+JSONObject.fromObject(userList).toString());

return new Envelope(0,"success",null).toString();//返回注册成功信息

}

实现了处理逻辑之后,即可开放对应的端口,使之持续进行服务

public static void main(String[] args) {

new Thread(new ServerFunction(10000,new LoginFun())).start();//在10000号端口开启注册登录服务

}

*文件中附带一个注册登录的演示DEMO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值