为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

银行转账功能代码

2017-09-27 8页 doc 23KB 122阅读

用户头像

is_614050

暂无简介

举报
银行转账功能代码银行转账功能代码 接口定义如下: public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); ...
银行转账功能代码
银行转账功能代码 接口定义如下: public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转出,从转出账号中扣除转账金额 * fromAccoutnId 转出账号 * amount 转账金额 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转入,从转入账号中增加转账金额 * toAccoutnId 转出账号 * amount 转账金额 */ public void transerIn(String toAccountId,BigDecimal amount); } 项目大量用到了网络通信内容,自己学习了一下.写了一个java Socket实例.还写了比较详细的注释.以方便以后的阅读.代码实现的功能是服务器段打开之后监听一个端口,当有客户端访问该服务器端时,就建立客户端与服务器端的联系.支持多个客户端与服务器进行连接.然后客户端输入信息.服务器可以针对客户端进行回复. Java Socket编程实例 文件一: SocketServer.java ----> Socket服务器端 package com.huameng.socket.next; import java.net.ServerSocket; /** * 服务器端Socket * * @author Administrator * */ public class SocketServer { /** * 服务器端Socket构造方法 */ public SocketServer() { try { int clientcount = 0; // 统计客户端总数 boolean listening = true; // 是否对客户端进行监听 ServerSocket server = null; // 服务器端Socket对象 try { // 创建一个ServerSocket在端口2121监听客户请求 server = new ServerSocket(2121); System.out.println("Server starts..."); } catch (Exception e) { System.out.println("Can not listen to. " + e); } while (listening) { // 客户端计数 clientcount++; // 监听到客户请求,根据得到的Socket对象和客户计数创建服务线程,并启动之 new ServerThread(server.accept(), clientcount).start(); } } catch (Exception e) { System.out.println("Error. " + e); } } /** * 主方法 * * @param args */ public static void main(String[] args) { new SocketServer(); } } 文件二: ServerThread.java ----> 服务器监控器 package com.huameng.socket.next; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class ServerThread extends Thread { private static int number = 0; // 保存本进程的客户计数 Socket socket = null; // 保存与本线程相关的Socket对象 public ServerThread(Socket socket, int clientnum) { this.socket = socket; number = clientnum; System.out.println("当前在线的用户数: " + number); } public void run() { try { // 由Socket对象得到输入流,并构造相应的BufferedReader对象 BufferedReader in = new BufferedReader(new InputStreamReader(socket .getInputStream())); // 由Socket对象得到输出流,并构造PrintWriter对象 PrintWriter out = new PrintWriter(socket.getOutputStream()); // 由系统输入设备构造BufferedReader对象 BufferedReader sysin = new BufferedReader(new InputStreamReader( System.in)); // 在标准输出上打印从客户端读入的字符串 System.out.println("[Client " + number + "]: " + in.readLine()); String line; // 保存一行内容 // 从标准输入读入一字符串 line = sysin.readLine(); while (!line.equals("bye")) { // 如果该字符串为 "bye",则停止循环 // 向客户端输出该字符串 out.println(line); // 刷新输出流,使Client马上收到该字符串 out.flush(); // 在系统标准输出上打印读入的字符串 System.out.println("[Server]: " + line); // 从Client读入一字符串,并打印到标准输出上 System.out.println("[Client " + number + "]: " + in.readLine()); // 从系统标准输入读入一字符串 line = sysin.readLine(); } out.close(); // 关闭Socket输出流 in.close(); // 关闭Socket输入流 socket.close(); // 关闭Socket } catch (Exception e) { System.out.println("Error. " + e); } } } 文件三: ScoketClient.java ----> Scoket客户端 package com.huameng.socket.next; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; /** * 客户端Socket * * @author Administrator * */ public class SocketClient { /** * 客户端Socket构造方法 */ public SocketClient() { try { // 向本机的2121端口发出客户请求 Socket socket = new Socket("localhost", 2121); System.out.println("Established a connection..."); // 由系统标准输入设备构造BufferedReader对象 BufferedReader sysin = new BufferedReader(new InputStreamReader( System.in)); // 由Socket对象得到输出流,并构造PrintWriter对象 PrintWriter out = new PrintWriter(socket.getOutputStream()); // 由Socket对象得到输入流,并构造相应的BufferedReader对象 BufferedReader in = new BufferedReader(new InputStreamReader(socket .getInputStream())); String line; // 保存一行内容 // 从系统标准输入读入一字符串 line = sysin.readLine(); while (!line.equals("bye")) { // 若从标准输入读入的字符串为 "bye"则停止循环 // 将从系统标准输入读入的字符串输出到Server out.println(line); // 刷新输出流,使Server马上收到该字符串 out.flush(); // 在系统标准输出上打印读入的字符串 System.out.println("[Client]: " + line); // 从Server读入一字符串,并打印到标准输出上 System.out.println("[Server]: " + in.readLine()); // 从系统标准输入读入一字符串 line = sysin.readLine(); } out.close(); // 关闭Socket输出流 in.close(); // 关闭Socket输入流 socket.close(); // 关闭Socket } catch (Exception e) { System.out.println("Error. " + e); } } /** * 主方法 * * @param args */ public static void main(String[] args) { new SocketClient(); } }
/
本文档为【银行转账功能代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索