java接收TCP协议端口发送来的数据后怎么保存到mysql数据库

这是自动接收端口数据的代码packagetcpdemo_1;importjava.io.IOException;importjava.net.InetSocketAddr... 这是自动接收端口数据的代码

package tcpdemo_1;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;

public class NServer {
// 用于检测所有Channel状态的Selector
private Selector selector = null;
//指定服务器端口
static final int PORT = 1001;

public static String bytesToHexString(byte[] src) {

StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();

}

public void init() throws IOException {
selector = Selector.open();
// 通过open方法来打开一个未绑定的ServerSocketChannel实例
ServerSocketChannel server = ServerSocketChannel.open();
InetSocketAddress isa = new InetSocketAddress("192.168.1.152", PORT);
server.bind(isa);
// 设置ServerSocket以非阻塞方式工作
server.configureBlocking(false);
// 将server注册到指定Selector对象
server.register(selector, SelectionKey.OP_ACCEPT);
while (selector.select() > 0) {
for (SelectionKey sk : selector.selectedKeys()) {
// 从selector上的已选择Key集中删除正在处理的SelectionKey
selector.selectedKeys().remove(sk); // ①
// 如果sk对应的Channel包含客户端的连接请求
if (sk.isAcceptable()) // ②
{
// 调用accept方法接受连接,产生服务器端的SocketChannel
SocketChannel sc = server.accept();
// 设置采用非阻塞模式
sc.configureBlocking(false);
// 将该SocketChannel也注册到selector
sc.register(selector, SelectionKey.OP_READ);
// 将sk对应的Channel设置成准备接受其他请求
sk.interestOps(SelectionKey.OP_ACCEPT);
}
if (sk.isReadable())
{
// 获取该SelectionKey对应的Channel,该Channel中有可读的数据
SocketChannel sc = (SocketChannel) sk.channel();
// 定义准备执行读取数据的ByteBuffer
ByteBuffer buff = ByteBuffer.allocate(102400);

// 开始读取数据
while (sc.read(buff) > 0) {
buff.flip();
byte[] bytes = new byte[buff.remaining()];
buff.get(bytes, 0, bytes.length);
String ss = NServer.bytesToHexString(bytes);

System.out.print(ss);

buff.clear();
}
sk.interestOps(SelectionKey.OP_READ);
}
}
}
}
}

public class Ndemo {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
NServer ns=new NServer();
ns.init();
}
}

自动接收端口数据怎么自动保存到数据库呢?小白求大神解答,谢过
展开
 我来答
江湖人称王嘉嘉
2017-11-10 · TA获得超过1400个赞
知道小有建树答主
回答量:1047
采纳率:83%
帮助的人:612万
展开全部
一个系统分为不同的模块,你的这个属于数据接收模块,保存到数据库库的属于数据持久化模块,这两个之间相互调用就能够达到你的目的,所以和你数据来源本身无关。
数据持久化的模块你可以看看java如何写入mysql数据库,通常是使用jdbc连接数据库,开始事务,然后执行insert into的sql语句,然后提交事务即可。网上例子很多,你可以参考。
匿名用户
2017-11-10
展开全部
//前端要调用后端的接口可以是用jsonp前端写法:$.ajax({url:"/xxx.java",data:{type:"xxx",a:"aaa"},async:false,dataType:"jsonp",jsonp:"callback",jsonpCallback:"returnLiveViewData",success:function(msg){},error:funct
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JOHNSON在
2017-11-10 · TA获得超过4874个赞
知道小有建树答主
回答量:1965
采纳率:20%
帮助的人:295万
展开全部
这个真不知道 你还是问问别人
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式