关于服务器向客户端发消息,马上给分!!! ft,当然有socket了,要不然客户端怎么连的上 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package htjs.msg;import java.sql.*;import java.lang.*;import java.util.*;import htjs.basic.*;import htjs.database.*;import htjs.include.*;import htjs.basic.OutString;import htjs.database.DB_link;/** * 短信模块. * <p>CreateTime:2003-7-6 * @author Avenger * @version 1.0 */public class Message extends htjs.database.DB_link { private String sqlStr=new String(); ResultSet rs=null; boolean zxbz=false; OutString os=new OutString(); /** * 构造函数 * @throws SQLException */ public Message() throws SQLException { } /** * 得到人员列表 * @return 执行成功返回人员结果集,否则返回NULL */ public ResultSet getRy() { try { sqlStr="select * from users"; openConnect(); rs=executeQuery(sqlStr); } catch (Exception e) { System.out.println(e.getMessage()); rs=null; } finally { return rs; } } /** * 信息发送 * @param fsdw 发送单位 * @param fsr 发送人 * @param xxbt 信息标题 * @param xxnr 信息内容 * @param jsr 接收人 alluser表示全部 * @param hzbz 信息回执 * @return 执行成功TRUE,否则返回FALSE */ public boolean SendMsg(String fsdw,String fsr,String xxbt,String xxnr,String jsr,String HzBz) { try { zxbz=false; xxbt=os.reconvert(xxbt); xxnr=os.reconvert(xxnr); openConnect(); if (jsr.compareTo("alluser")==0) { sqlStr="insert into sys_message (fsdw,fsr,xxbt,xxnr,jsdw,jsr,hzbz) select '"+fsdw+"','"+fsr+"','"+xxbt+"','"+xxnr+"',ksbm,yhbm,"+HzBz+" from users"; }else { rs=executeQuery("select ksbm from users where yhbm='"+jsr+"'"); rs.next(); sqlStr="insert into sys_message (fsdw,fsr,xxbt,xxnr,jsdw,jsr,hzbz) values('"+fsdw+"','"+fsr+"','"+xxbt+"','"+xxnr+"','"+rs.getString("ksbm")+"','"+jsr+"',"+HzBz+")"; rs.close(); } executeQuery(sqlStr); zxbz=true; } catch (Exception e) { System.out.println(e.getMessage()); zxbz=false; } finally { return zxbz; } } /** * 读取短信息列表 * @param yhbm 用户编码 * @return 执行成功返回结果集,否则返回NULL */ public ResultSet getMsg(String yhbm) { try { sqlStr="select A.ROWID,A.FSR,A.XXBT,A.FSSJ,A.JSBZ,B.MC||' ' as mc from sys_message A,USERS B where A.FSR=B.YHBM(+) AND A.jsr='"+yhbm+"' order by A.fssj DESC"; openConnect(); rs=executeQuery(sqlStr); } catch (Exception e) { System.out.println(e.getMessage()); rs=null; } finally { return rs; } } /** * 读取短信息列表 * @param id 记录ID * @return 执行成功返回结果集,否则返回NULL */ public ResultSet ViewMsg(String id) { try { openConnect(); sqlStr="insert into sys_message (fsdw,fsr,xxbt,xxnr,jsdw,jsr,hzbz) select jsdw,jsr,'"+os.reconvert("自动回执")+"-'||xxbt,'"+os.reconvert("信息已阅读")+"',fsdw,fsr,0 from sys_message where rowid='"+id+"' and jsbz=0 and hzbz=1"; executeQuery(sqlStr); sqlStr="update sys_message set jssj=sysdate,jsbz=1 where rowid='"+id+"'"; executeQuery(sqlStr); sqlStr="select A.ROWID,A.FSR,A.XXBT,A.XXNR,A.FSSJ,B.MC||' ' as mc from sys_message A,USERS B where A.FSR=B.YHBM(+) AND A.ROWID='"+id+"'"; rs=executeQuery(sqlStr); } catch (Exception e) { System.out.println(e.getMessage()); rs=null; } finally { return rs; } }/** * 读取短信息列表 * @param sj 记录ID串 * @return 执行成功TRUE,否则返回FALSE */public boolean DelMsg(String id) { try { zxbz=false; openConnect(); StringTokenizer stSj = new StringTokenizer(id,";;;"); String arySql[] = new String[stSj.countTokens()]; String strID=""; int intI=0; while (stSj.hasMoreTokens()) { strID=stSj.nextToken(); arySql[intI]="delete from sys_message where rowid='" + strID + "'"; intI++; } executeQuery(arySql); } catch (Exception e) { System.out.println(e.getMessage()); zxbz=false; } finally { return zxbz; } } /** * 得到SQL语句(调试时使用的方法) */ public String getSQL() { return sqlStr; }} 通过连接判断连上的IP,如果是客户端的,则getOutputStream()后用write() final关键字迷惑 求助,运行不正确,怎么改? 两个工程间如何用UDP发送一个对象 Javamail的问题 abstract是什么意思,下面这句语法怎么理解? 怎么实现这个功能? 怎么设置Bean的路径 只有北极星高手能进来呦~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 哪儿可以下载jbuilder6.0?谢谢!! 打到JAVA高手(续) java和j2ee是什么样的关系? 谁能告诉我>>,>>>符号的具体使用是如何进行的,怎么移位?
import java.lang.*;
import java.util.*;
import htjs.basic.*;
import htjs.database.*;
import htjs.include.*;
import htjs.basic.OutString;
import htjs.database.DB_link;/**
* 短信模块.
* <p>CreateTime:2003-7-6
* @author Avenger
* @version 1.0
*/public class Message extends htjs.database.DB_link { private String sqlStr=new String();
ResultSet rs=null;
boolean zxbz=false;
OutString os=new OutString(); /**
* 构造函数
* @throws SQLException
*/
public Message() throws SQLException { }
/**
* 得到人员列表
* @return 执行成功返回人员结果集,否则返回NULL
*/
public ResultSet getRy() {
try {
sqlStr="select * from users";
openConnect();
rs=executeQuery(sqlStr);
} catch (Exception e) {
System.out.println(e.getMessage());
rs=null;
} finally {
return rs;
}
} /**
* 信息发送
* @param fsdw 发送单位
* @param fsr 发送人
* @param xxbt 信息标题
* @param xxnr 信息内容
* @param jsr 接收人 alluser表示全部
* @param hzbz 信息回执
* @return 执行成功TRUE,否则返回FALSE
*/
public boolean SendMsg(String fsdw,String fsr,String xxbt,String xxnr,String jsr,String HzBz) {
try {
zxbz=false;
xxbt=os.reconvert(xxbt);
xxnr=os.reconvert(xxnr);
openConnect();
if (jsr.compareTo("alluser")==0)
{
sqlStr="insert into sys_message (fsdw,fsr,xxbt,xxnr,jsdw,jsr,hzbz) select '"+fsdw+"','"+fsr+"','"+xxbt+"','"+xxnr+"',ksbm,yhbm,"+HzBz+" from users";
}else
{
rs=executeQuery("select ksbm from users where yhbm='"+jsr+"'");
rs.next();
sqlStr="insert into sys_message (fsdw,fsr,xxbt,xxnr,jsdw,jsr,hzbz) values('"+fsdw+"','"+fsr+"','"+xxbt+"','"+xxnr+"','"+rs.getString("ksbm")+"','"+jsr+"',"+HzBz+")";
rs.close();
}
executeQuery(sqlStr);
zxbz=true;
} catch (Exception e) {
System.out.println(e.getMessage());
zxbz=false;
} finally {
return zxbz;
}
} /**
* 读取短信息列表
* @param yhbm 用户编码
* @return 执行成功返回结果集,否则返回NULL
*/
public ResultSet getMsg(String yhbm) {
try {
sqlStr="select A.ROWID,A.FSR,A.XXBT,A.FSSJ,A.JSBZ,B.MC||' ' as mc from sys_message A,USERS B where A.FSR=B.YHBM(+) AND A.jsr='"+yhbm+"' order by A.fssj DESC";
openConnect();
rs=executeQuery(sqlStr);
} catch (Exception e) {
System.out.println(e.getMessage());
rs=null;
} finally {
return rs;
}
} /**
* 读取短信息列表
* @param id 记录ID
* @return 执行成功返回结果集,否则返回NULL
*/
public ResultSet ViewMsg(String id) {
try {
openConnect();
sqlStr="insert into sys_message (fsdw,fsr,xxbt,xxnr,jsdw,jsr,hzbz) select jsdw,jsr,'"+os.reconvert("自动回执")+"-'||xxbt,'"+os.reconvert("信息已阅读")+"',fsdw,fsr,0 from sys_message where rowid='"+id+"' and jsbz=0 and hzbz=1";
executeQuery(sqlStr);
sqlStr="update sys_message set jssj=sysdate,jsbz=1 where rowid='"+id+"'";
executeQuery(sqlStr);
sqlStr="select A.ROWID,A.FSR,A.XXBT,A.XXNR,A.FSSJ,B.MC||' ' as mc from sys_message A,USERS B where A.FSR=B.YHBM(+) AND A.ROWID='"+id+"'";
rs=executeQuery(sqlStr);
} catch (Exception e) {
System.out.println(e.getMessage());
rs=null;
} finally {
return rs;
}
}
/**
* 读取短信息列表
* @param sj 记录ID串
* @return 执行成功TRUE,否则返回FALSE
*/
public boolean DelMsg(String id) {
try {
zxbz=false;
openConnect();
StringTokenizer stSj = new StringTokenizer(id,";;;");
String arySql[] = new String[stSj.countTokens()];
String strID="";
int intI=0;
while (stSj.hasMoreTokens())
{
strID=stSj.nextToken();
arySql[intI]="delete from sys_message where rowid='" + strID + "'";
intI++;
}
executeQuery(arySql);
} catch (Exception e) {
System.out.println(e.getMessage());
zxbz=false;
} finally {
return zxbz;
}
} /**
* 得到SQL语句(调试时使用的方法)
*/
public String getSQL() {
return sqlStr;
}}