Socket 简单交互案例

银联的跨行清算体系架构分析 目前实现跨行清算的系统主要有银联跨行清算系统、第三方支付系统、人行的网上支付跨行清算系统(超级网银),本文主要介绍银联的跨行清算系统。跨行清算业务与清算对象首先从业务上讲,银联的支付清算包括清分和资金划拨两个环节。清分是指对交易日志中记录的成功交易,逐笔计算交易本金及交易费用(手续费、分润等),然后按清算对象汇总扎差习惯应收或应付金额,简言之,就是搞清楚今天应该向谁要多少钱,应该给谁多少钱;资金划 阅读详情

简单的Socket交互案例

分为三步:

第一步:实现客户端,向服务端发送信息

第二步:实现客户端,接收客户端信息,并向客户端回复

第三步:循环监听等待客户端连接


实现案例(案例内每一步有注解,这边就不详细解释了)

第一步

package com.socket;

import java.io.*;
import java.net.Socket;

/**
 * 客户端
 */
public class cline {
    public  static  void main(String[] arg){
        try {
            //1、创建客户端Socket,指定服务器地址和端口
            Socket socket = new Socket("localhost",8888);
            //2、获取输出流,向服务器发送信息
            OutputStream os = socket.getOutputStream();//字节输出流
            PrintWriter pw = new PrintWriter(os);
            pw.write("用户名:admin  ; 密码:5555");
            pw.flush();
            socket.shutdownOutput();//关闭输出流

            //3、接收服务器的响应信息
            InputStream is = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String info = null;
            while((info = br.readLine()) != null){
                System.out.println("我是客户端,服务器端说:"+info);
            }
            br.close();
            is.close();

            pw.close();
            os.close();
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

第二步

package com.socket;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 服务器线程处理类
 */
public class ServerThread extends  Thread {
    //和本线程相关的Socket
    Socket socket = null;
    public ServerThread(Socket socket){
        this.socket = socket;
    }
    //线程执行操作,响应客户端请求
    public void run(){
        InputStream is = null;
        InputStreamReader isr = null;
        BufferedReader br = null;
        OutputStream os = null;
        PrintWriter pw = null;
        try {
            //3、获取输入流,并读取客户端信息
            is = socket.getInputStream();

            isr = new InputStreamReader(is);//将字节流包装为字符流
            br = new BufferedReader(isr);//为输入流添加缓冲
            String info = null;
            while((info = br.readLine()) != null){
                System.out.println("我是服务器,客户端说:" + info);
            }
            socket.shutdownInput();//关闭输入流
            //4、获取输出流,响应客户端请求
            os = socket.getOutputStream();
            pw = new PrintWriter(os);//包装为打印流
            pw.write("欢迎您,服务器接收到你信息。");
            pw.flush();

        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                if ( pw != null)
                    pw.close();
                if(os != null)
                    os.close();
                if(br != null)
                    br.close();
                if(isr != null)
                    isr.close();
                if(is !=null)
                    is.close();
                if(socket != null)
                    socket.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
}

第三步

package com.socket;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {
    public static void main(String[] arg){
        try{
            int count = 0;
            //穿件服务器socket,绑定端口,并监听此端口
            ServerSocket serverSocket = new ServerSocket(8888);
            System.out.println("***服务器已启动,等待客户端连接***");
            //循环监听等待客户端连接
            while(true){
                //调用accept()方法开始监听,等待客户端连接
                Socket socket =serverSocket.accept();
                //创建一个新的线程
                ServerThread serverThread = new ServerThread(socket);
                //启动线程
                serverThread.start();
                count++;
                System.out.println("客户端的数量为:"+count);
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}


基于PBOC的电子钱包消费交易过程 基于PBOC的电子钱包消费交易过程,POS机和兼容PBOC规范的终端,在进行Pboc银联卡交互时,一次交易过程中的密钥验证流程 立即下载

相关推荐

Kaffeekasse:我的博客上的存折教程的示例应用程序

注意:此代码未得到维护,也不安全。 我只将其留在此处以供参考。 不要使用它! iOS存折教程 奥莱·贝格曼(Ole Begemann),2013年2月。 我在的讨论了一个用Ruby编写的示例Web服务器和一个iOS应用。 请参阅博客文章以获取更多信息。 执照 就我自己编写的代码而言,该代码已获得。 苹果示例代码 该服务器实现基于Apple自己的Passbook参考服务器实现,因此包含大量Apple示例代码,这些示例代码是Apple根据以下许可提供的: Apple授予您本原始Apple软件(以下简称“ Apple软件”)中Apple的版权的个人非专有许可,以使用,复制,修改和重新分发Apple软件(无论是否经过修改)的源代码和/或二进制文件。形式; 前提是,如果您完整地重新分发Apple软件而未进行任何修改,则必须在所有此类Apple软件重新分发中保留此声明以及以下文本和免责声明。 ZB

金融IC卡文件结构及访问机制

转自:http://tech.yktworld.com/201008/201008311414388523.html 金融IC卡作为新型的金融品种,在银行业务中的应用越来越广。各发卡行推出的金融IC卡必须符合统一的文件结构规范,才能够共享POS机和圈存机等端末设备。本文阐述了符合人民银行统一规范和符合ISO/IEC 7816-4规范的金融IC卡文件体系结构,对金融IC卡的文件访问机制做了简要

davidtps的专栏 4934

社保PSAM卡

操作社保PSAM卡协议文档

PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第四组(转)

十:联机处理-可选项终端根据卡片行为分析的结果,执行对应的处理。若卡片响应联机,则终端发起联机操作。联机处理使得发卡行后台可以根据基于后台的风险管理参数检查并授权批准或拒绝交易。除了传统的联机欺诈和信用检查外,发卡行后台授权系统还可以使用卡片生成的动态密文进行联机卡片认证并在授权决策中考虑脱机处理的结果。 【如果卡片或终端决定交易需要进行联机授权,同时终端具备联机能力,终端将卡片产生的ARQC(...

weixin_34128237的博客 806

软件项目管理期末复习(看这一篇就够了)

软件项目管理考试复习 🔶🔶🔶🔶🔶加了🔶的是考点 第一章软件项目管理概述 1.1.1项目及其特征 项目定义:🔶 项目就是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力; 是以一套独特而互相联系的任务为前提,有效地利用资源,在一段时间内满足一系列特定目标的多项相关工作的总称。 日常运作和项目的区别: 项目是一次性的,而日常运作是重复进行的。 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 项目是通过项目经理及其团队工作完成的,日常运作是职能式的线性管理。 项目存在大量的变更管理,

qq_50886857的博客 3万+

车载面试题目(ADAS)

多数功能都是依靠的前置传感器(经过Lidar、Radar、Camera融合),比如ACC、AEB、LKA、NOA、TJA、FCW等,只有少数涉及周视传感器,比如BSD、CVW、DOW。③如果前面有车切速度小于自车车速,自车减速对减速度有要求,比如3.5m/m2,④如果前车静止了,自车有个跟停距离要求,比如2-3m。试验场有不同曲率的弯道,比如125m、250m、500m的,根据需求跟车行驶,看是否会减速,能不能驶出弯道等。迭代内容:底层通讯、网络管理、诊断、刷写、信息安全、OTA。

qq_43475097的博客 2298

从论文到实践:LimiX-2M表格基础模型的学术价值与商业应用

LimiX-2M是一款仅含200万参数的表格基础模型,专为解决结构化数据中的低秩崩溃和注意力瓶颈问题而设计。作为稳定AI(StableAI)推出的创新成果,它在分类、回归和缺失值插补等任务中超越了XGBoost、CatBoost等传统机器学习模型,以轻量化架构实现了训练免调参的高效推理,为学术界和产业界带来全新的结构化数据处理范式。 ## 一、突破性技术:重新定义表格AI的底层架构 ### 核

gitblog_02822的博客 380

多模态RAG实战:为LLM装上视觉之眼,实现图文混合文档智能问答

检索增强生成(RAG)技术通过结合外部知识库,有效缓解了大语言模型(LLM)的幻觉问题,并扩展了其知识边界。其核心原理是将文档切分、向量化后存入向量数据库,在问答时通过语义检索召回相关上下文,辅助LLM生成更精准的答案。这项技术的核心价值在于,它为大模型应用提供了一种低成本、高效率的知识注入与实时更新方案,广泛应用于智能客服、知识库问答、文档分析等场景。随着应用深入,纯文本RAG在处理产品手册、学术论文、设计图纸等富含视觉信息的文档时面临瓶颈。本文聚焦的**多模态RAG**和**视觉理解**技术,正是为了解

weixin_30698527的博客 723

为什么顶级架构师都在用WebSocket扩展?3个真实场景告诉你答案

掌握WebSocket的扩展,解决高并发实时通信难题。通过在线协作、直播弹幕与金融行情推送三大场景,揭示其提升性能与可扩展性的核心优势。架构师都在用的技术方案,值得收藏。

InstrGap的博客 938

FDTD Solutions-入射波长模式

经常在文献中看到仿真光源使用TM/TE模式,这个确定是十分必要的,决定了仿真结果。 但是也不能局限于选择TM/TE,因为不同领域、不同软件之间的使用习惯和命名可能不同。并且在现代光波导器件中,几乎全部 都是混合模式,或者称之为quasi-TE(准TE模式)和quasi-TM(准TM模式),多数情况下都简称为TE模式和TM模式。要知道 到底是TE模式还是TM模式,需要查看其电场的主分量(即振幅...

HECHUANWANG的博客 1万+

VSCode搭配Keil开发STM32:从环境配置到代码跳转全流程(避坑指南)

本文详细介绍了如何使用VSCode搭配Keil进行STM32开发,从环境配置到代码跳转的全流程指南。通过安装必备插件和正确配置项目文件,开发者可以在VSCode中享受现代编辑器的便捷功能,同时保留Keil的编译调试能力,提升嵌入式开发效率。

weixin_28832121的博客 253

socket实现简单的服务器客户端交互

Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打...

Ssssongsmith 天璇星 532

gm/Id 设计方法

本文介绍gm/Id方法的具体实现。

maxwell2ic的博客 4万+

socket实现简单两主机间交互

socket实现简单两主机间交互 两段简单的python代码,实现简单的主机交互。在同一主机上运行,客户端的HOST需修改为主机名 在两个主机上需要在能ping通的情况下才能正常工作(或者连在一个路由上) (摘自python核心编程) #coding=utf-8 ## server.py服务器端 from socket import * from time import ctim...

Richado的博客 1565

Kubernetes+EdgeX:构建企业级AI边缘推理平台

设备:工业摄像头(RTSP协议,输出1920x1080视频流);AI模型:YOLOv8训练的轴承裂纹检测模型(识别“裂纹”“正常”两种类型);目标:摄像头采集图像→EdgeX传输数据→K8s推理服务检测→结果反馈到报警器(HTTP协议)。Kubernetes+EdgeX的组合,为企业构建AI边缘推理平台提供了标准化、可扩展标准化:K8s的容器编排和EdgeX的设备管理,都是行业标准,避免“重复造轮子”;可扩展:支持从单边缘节点到 thousands of nodes 的规模,满足企业的增长需求;

AI算力网络与通信的博客 1344

Pyhon在振动信号处理中的高级应用(一):振动信号特征(时域、频域)提取

文章目录一、概述二、算法原理2.1 时域统计特征三、python代码实现 一、概述 二、算法原理   这里我们借鉴西安交通大学机械学院雷教授的论文《Fault diagnosis of rotating machinery based on multiple ANFIS combination with GAs》相关研究成果。雷教授在论文中共列举了4类共24种振动信号的时域和频域特征。 2.1 时域统计特征 p1=∑n=1Nx(n)NP2=∑n=1N(x(n)−p1)2N−1p3=(∑n=1N∣x(n)∣N

白银时代的博客 1万+

socket实现简单的服务器客户端交互图

zhihong4102的博客 605

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

一个简单的socket网页交互

import socket def handle_request(client): buf = client.recv(1024) client.send(b"HTTP/1.1 200 OK\r\n\r\n") # 这里这样写,才能返回,还不清楚为啥 client.send(b"Hello, Seven") def main(): sock = socke

time 3138

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Socket编程实现简单的C/S交互

学习了一下socket编程的基本知识。主要看了下《UNIX网络编程卷1:套接字联网API(第3版)》里面对socket、bind、listen、accept、connect等函数的介绍。然后参考了http://chinaunix.net/uid-28541347-id-4700074.html 原文确实挺不错,对我启发很大,这里直接贴个简单的代码,是通过客户端连接服务器,在服务器中通过fo...

Besko的博客 1003

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

nodejs初探(三)实现一个简单的socket交互

样例地址http://www.lxrtalk.com/ 看一下nodejs中通过socket和客户端交互的最简单例子 // Sever --> Client 的单向通讯 var net = require('net'); var chatServer = net.createServer(); chatServer.on('connection', function(...

weixin_30386713的博客 103

node+socket+vue的简单交互实例

首先关注后端代码: (1) 安装socket.io插件 npm install express npm install socket.io (2) 在server.js中写入如下代码: 参考网址:https://socket.io/docs/#Sending-and-receiving-events var app = require('express')(); var server = req...

前端学习笔记 644

python socket编程之客户端和服务端简单交互

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 服务端 #_*_coding:utf-8_*_ #导入socket模块 importsocket #创建socket对象...

weixin_34128501的博客 622

socket客服交互及文件传输的简单实现

整体思路:1.服务端:多线程接受客户端。由clienthandler实现Runnable接口,并采用有参构造,参数为Socket。clienthandler的run方法阻塞读取客户端的消息,并判断消息类型,做出判断。若为chat,则服务端返回客户端的消息,若为file则新建线程传入文件名和文件长度接受文件。2.客户端:客户端监听控制台输入,输入格式为mess:+信息或者file:源文件绝对路径。内部类liunnablestener继承Runnable监听服务端返回消息。 第三方包:XStream包。(如果你

sun5739的博客 391

Socket 网络交互简单示例

java中的网络信息传输方式是基于TCP协议或者UD协议P的,socket是基于TCP协议的 [code="java"] 例子1 (1)客户端程序: import java.io.*; import java.net.*; public class Client { public static void main(String args[]) { String s...

eason26_li的专栏 228

python——socket实现简单C/S交互开发

pyhton的socket模块可以实现网络编程开发,首先我们介绍一下需要用到的方法: socket.socket():建立socker套接字,两个参数,family代表家族.type代表类型,type默认TCP socket.bind():服务器端,接受的参数是元组,不是传递host,port两个元素,而是(host,port) socket.listen():一个参数,值为允许客户端连接服

九日王朝 4653
上一篇: java8 自定义收集器
下一篇: Mysql 运维优化必须知道的几个命令
Mark_XC
博客等级 码龄9年 16粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值