使用socket client源码,调用addresstool地址关联算法

ops/2024/9/26 1:23:36/

之前使用httpserver方式发布地址关联服务,发现每秒只能处理1800条地址,远远没有达到本地计算每秒1万条的速度,于是改变思路,使用socket发布服务。
这是客户端代码
直接上代码

package org.socket;import org.address.AddressTool;
import org.address.entity.StandardAddress;import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;public class AddressSocket {AddressTool ss = new AddressTool();public AddressSocket() throws Exception {ss.loadFromJson("D:\\","address4.json");}/*** 服务端程序*/public void server() throws IOException {// 服务端监听 9528 端口ServerSocket serverSocket = new ServerSocket(9966);System.out.println("等待连接");Socket client = serverSocket.accept();System.out.println("连接成功!");while (true) {try {// 获取客户端输入流InputStream inputStream = client.getInputStream();byte[] bytes = new byte[1024];int read = inputStream.read(bytes);String addr = new String(bytes, 0, read, Charset.defaultCharset());// 客户端发来的消息
//                System.out.println("客户端:" + addr);StandardAddress address = ss.getStdAddress(addr);// 给客户端发端东西client.getOutputStream().write(address.toString().getBytes(StandardCharsets.UTF_8));}catch (Exception e){
//                System.out.println("无客户端链接!!!");client.close();client = serverSocket.accept();}}}class Task implements Runnable {private ServerSocket serverSocket;/*** 构造函数*/public Task(ServerSocket socket) {this.serverSocket = socket;}@Overridepublic void run() {try {handlerSocket();} catch (Exception e) {e.printStackTrace();}}}private String handlerSocket(){return "";}public static void main(String[] args) throws Exception {AddressSocket tcpSocketServer = new AddressSocket();tcpSocketServer.server();;}
}

结合上一篇socketserver案例,可以发布一个完整的服务了


http://www.ppmy.cn/ops/11315.html

相关文章

聚道云软件连接器助力医疗器械有限公司打通金蝶云星辰与飞书

摘要 聚道云软件连接器成功将金蝶云星辰与飞书实现无缝对接,为某医疗器械有限公司解决采购订单、付款单同步、审批结果回传、报错推送等难题,实现数字化转型升级。 客户介绍 某医疗器械有限公司是一家集研发、生产、销售为一体的综合性医疗器械企业。…

python爬虫之爬取微博评论(4)

一、获取单页评论 随机选取一个微博,例如下面这个 【#出操死亡女生家属... - 冷暖视频的微博 - 微博 (weibo.com) 1、fnf12,然后点击网络,搜索评论内容,然后预览,就可以查看到网页内容里面还有评论内容 2、编写代码…

Linux查看僵尸进程

1、查看系统是否有僵尸进程 使用Top命令查找,当zombie前的数量不为0时,即系统内存在相应数量的僵尸进程。 2、定位僵尸进程 使用命令ps -A -ostat,ppid,pid,cmd |grep -e ‘^[Zz]’定位僵尸进程以及该僵尸进程的父进程。 3、杀死僵尸进程 使用Kill -…

Linux:进程与计划任务

文章目录 Linux:进程与计划任务一、进程1、进程是什么2、进程状态 二、列出进程命令1、查看静态的进程统计信息——“ps”Play1:“ps aux”Play2:ps -elf 2、查看静态的进程统计信息——“top”段首解析进程信息区解释 三、运行与终止进程3.1、运行进程3…

C++反向迭代器的封装和模板进阶(个人笔记)

C反迭代器和模板进阶 1.反向迭代器2.模板2.1非类型模板参数2.2模板的特化2.2.1函数模板2.2.2类模板特化2.2.2.1 全特化2.2.2.1 偏特化 2.3模板的分离编译2.4模板的优缺点 1.反向迭代器 用正向迭代器适配出反向迭代器 这里是自己实现的反向迭代器版本,与STL标准库里…

【北京迅为】《iTOP-3588开发板系统编程手册》第5章 文件IO缓存

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

【文章复现】基于主从博弈的社区综合能源系统分布式协同 优化运行策略

随着能源市场由传统的垂直一体式结构向交互竞争型 结构转变,社区综合能源系统的分布式特征愈发明显,传统 的集中优化方法难以揭示多主体间的交互行为。该文提出一 种基于主从博弈的社区综合能源系统分布式协同优化运行 策略,将综合能源销售商…

STM32 USB HID报告描述符没有报告长度

STM32 USB HID设置(STM32CubeMX)_我也想成大侠的博客-CSDN博客 不影响鼠标功能