socet短信发送与线程设计的问题

os586 os586 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需求是这样的,我从来没有做过socket与线程的东西:现在有这样的需求:

一个小灵通短信发送平台,我们的现在是使用客户端的socket然后向小灵通平台服务发送一个串,串的格式是这样的:
out.println("<FROM:10060><TO:" + called_num + "><MSG: DY " + info + ">\r\n");
这其中变量 called_num是电话号码,而info是短信内容

要求有短信群发,并且要求反馈回正确的短信发送结果。
平台上是这样提供的:

当你发送成功后,会返回ST_OK的串值,失误则会发送ST_ER,
现在有一个重要通知要发送,发送前选中要发送的人,包括群发。然后提交后会有一个反馈结果:比如是给****发送成功,给****发送失误。并且要求支持有重发功能,但是如果使用重发功能的话,这个返回结果就会很慢才出来,因为要等它发送规定的次数后才会显示结果,这个问题需要如何解决?


另外一点,我们需要进行线程设计,把小灵通短信发送这一部分单独拿出来。比如说通知内容是一部分,小灵通发送可以放到线程当中这样设计是否合理?而反馈结果要写入数据库表当中,这样的话我应当在线程中的哪个部分处理?

还有一点就是,在socket当中进行读取返回值时,会不会很慢?

线程这一部分我该如何设计?希望各位做过socket的朋友给些意见,这个问题困挠我好久了,急死人了!

下面附上短信发送的函数:
public void SMSsend(String phone, String sms) {
//BufferedReader in;
BufferedInputStream in;
PrintWriter out;

String called_num = phone;
String info = sms;
try {
socket = new Socket(hostIP, Integer.parseInt(hostPort));
//in = new BufferedReader( new InputStreamReader(socket.getInputStream()));
in = new BufferedInputStream(socket.getInputStream());
out = new PrintWriter(socket.getOutputStream(), true);
out.println("<FROM:10060><TO:" + called_num + "><MSG: DY " + info + ">\r\n");

byte[] tmp=new byte[5];
in.read(tmp);
String str=new String(tmp);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
...全文

相关推荐

chrome-headless-shell-win64-156.0.8078.80(Stable).zip

chrome-headless-shell-win64-156.0.8078.80(Stable).zip

LCG元

FTP多连接自动上传工具

FTP多连接自动上传工具

梓小彬吖

P1851 好朋友.mp4

P1851 好朋友.mp4

田舍翁zhu

自由学习记录(229)1

自由学习记录(229)1

domiyaki

人工智能基于神经网络的前向传播与反向传播算法:多层感知机在手写数字识别中的应用

内容概要:本文系统讲解了人工神经网络的核心原理与实现方法,从生物神经元启发出发,详细推导前向传播、损失函数、反向传播与梯度下降四大关键机制,并基于NumPy从零实现一个多层感知机(MLP),在MNIST手写数字数据集上完成分类任务。文中涵盖激活函数(如ReLU、Sigmoid)、交叉熵损失、Softmax输出、Adam优化器等核心技术点,提供完整可运行代码,并对比SGD与Adam的训练表现,帮助读者深入理解神经网络的工作流程和调优策略。; 适合人群:具备Python和线性代数基础,对深度学习感兴趣的学生、工程师或科研人员,尤其适合希望从底层掌握神经网络原理的学习者。; 使用场景及目标:①理解神经网络的基本构成单元及其数学原理;②掌握前向传播与反向传播的实现细节;③学会用NumPy构建可训练模型;④比较不同优化器的收敛特性并进行模型调优。; 阅读建议:建议边阅读边运行代码,重点关注每一层的输入输出形状、梯度传递过程以及参数更新逻辑,结合文末常见问题表进行调试与实验,加深对训练动态的理解。

专注仿真
评论 2
收藏 已收藏
分享
返回顶部
os586
Java SE 62,621 成员 307,251 内容