java怎么弄自己的服务器

2024-07-12 15:26:46
壹、Java程序怎么传递16进制指令0x00到默认已打开的LPT1端口//创建输入输出数据流
Sockets=null;
DataOutputStreamdos=null;
DataInputStreamdis=null;
s=newSocket("192.168.0.11",9707);//发送数据应传输到的地址端口是透明传输,由路由器处理,无需考虑IP数据包的打包和卸载
dos=newDataOutputStream(s.getOutputStream());
dis=newDataInputStream(s.getInputStream());
//字节数组(要发送的指令)
byte[]b=newbyte[10];
b[0]=(字节)0xf8;
b[1]=(字节)0xf9;
b[2]=(字节)0x0f;
b[3]=(字节)0xff;
b[4]=(字节)0x24;
b[5]=(字节)0x00;
b[6]=(字节)0xfe;
b[7]=(byte)0xff;
//System.out.println(b[1]);溢出显示为-7
//发送数据
dos.write(b);
dos.flush();
【解决办法】
使用字符串发送
转账

贰、JAVA单机版程序,如何指定在每天凌晨0:00:00执行?importjava.util.Calendar;
importjava.util.Date;
importjava.util.Timer;
importjavax.servlet.ServletContextEvent;
importjavax.servlet.ServletContextListener;
publicclassHandleTimerTaskimplementsServletContextListener{
privateTimertimer=null;//定时器
privatestaticintDOWNlOAD_HOUR=0;//执行任务开始时间(小时)
privatestaticintDOWNlOAD_MINUTE=0;//执行任务开始时间(分钟)
privatestaticintDOWNlOAD_SECOND=0;//任务执行的开始时间(秒)
privatelongdelay;//延迟时间值(当前系统时间与下载的时间差,单位毫秒)time)
publicvoidcontextInitialized(ServletContextEventevent){
init();//初始化参数
timer=newTimer(true);//创建定时器对象
//定时器实现程序
timer.schedule(newHandle(event.getServletContext()),delay,24*60*60*1000);//调用Handle()类(每天需要执行哪些任务),delay表示延迟时间,单位为毫秒,0,24*60*60*1000表示任务每两天执行一次,60*60*1000表示一小时;
publicvoidcontextDestroyed(ServletContextEventevent){
timer.cancel();
/**
*初始化参数
*@return
*/
publicvoidinit(){
//声明日历对象
Calendarcal=Calendar.getInstance();
//设置时间
cal.set(Calendar.HOUR_OF_DAY,DOWNlOAD_HOUR);
cal.set(Calendar.MINUTE,DOWNlOAD_MINUTE);
cal.set(Calendar.SECOND,DOWNlOAD_SECOND);
Datedate=newDate();
//获取准确时间
date=cal.getTime();
声明当前时间
Datenow=newDate();
//获取指定时间与实际时间的差值(毫秒数)当前时间
longinterval=date.getTime()-now.getTime();
//如果当前时间大于下载时间,则将下载时间设置为下次下载时间
if(interval<0){
cal.add(Calendar.DAY_OF_MONTH,1);//天数加1
date=cal.getTime();
//获取设置时间与当前时间的差值(毫秒)
interval=date.getTime()-now.getTime();
this.startTime=date;//初始化下载开始time
this.delay=interval;//初始化当前下载时间与时间的时间差
publicclassHandleextendsTimerTask{
privateServletContextcontext=null;
Timertimer=null;//查询任务定时器
publicHandle(ServletContextcontext)
{
this.context=context;
/**
*开始执行
*/
publicvoidrun(){
//开始执行
context.log("开始执行!");
可以使用延迟时间来实现,增加了init()方法来计算延迟数,无论服务什么时候启动,可以根据当前系统时间和任务开始时间以毫秒为单位计算延迟时间
虽然没有分,但还是希望你有帮助^_