我想本地调试JICQ
在jicq注册程序帐号的时候出现JLU-31FF50B0B69,8080的提示
不知道什么原因!是否有可能是为联接上数据库的原因?因为数据库里没有任何帐号信息,在进入帐户的时候输入任意东西点确定没有任何反应,应该是出现帐号错误等!
有用过老办JICQ程序的给点指导
服务器执行后得到Server start..ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=7890]
就这样一行代码!这是服务器端的原代码!用的是SQL server 2000数据库,名称是javaicq,已经建立,把文件导入,不知道是否用其他操作?
在jicq注册程序帐号的时候出现JLU-31FF50B0B69,8080的提示
不知道什么原因!是否有可能是为联接上数据库的原因?因为数据库里没有任何帐号信息,在进入帐户的时候输入任意东西点确定没有任何反应,应该是出现帐号错误等!
有用过老办JICQ程序的给点指导
服务器执行后得到Server start..ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=7890]
就这样一行代码!这是服务器端的原代码!用的是SQL server 2000数据库,名称是javaicq,已经建立,把文件导入,不知道是否用其他操作?
解决方案 »
- 【100分求正解】求正则,求恩赐,求解脱
- org.apache.poi.hssf.usermodel.HSSFWorkbook cannot be cast to org.apache.poi.ss.u
- 各位看过thinking in java 的过来
- struts1.2 spring 2.0 hibernate3.2 整合
- 怎么让display tag 这个jsp标签漂亮点啊
- 请教下面一小段代码
- 高手请帮忙做这些面试题目
- web.xml在struts中实现什么功能
- 这个错误应该怎么修改?
- 一个初级的问题
- java jdk 运行一个tcp的聊天程序 出现的问题
- 局域网内ip限制问题,tomcat服务器,防止外网访问
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.Vector;
class ServerThread extends Thread{//继承线程
private Socket socket;//定义套接口
private BufferedReader in;//定义输入流
private PrintWriter out;//定义输出流
int no;//定义申请的jicq号码
public ServerThread(Socket s) throws IOException {//线程构造函数
socket=s;//取得传递参数
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));//创建输入流
out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);//创建输出流
start();//启动线程
}public void run(){//线程监听函数
try{ while(true){
String str=in.readLine();//取得输入字符串
if(str.equals("end"))break;//如果是结束就关闭连接
else if(str.equals("login")) {//如果是登录
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection c=DriverManager.getConnection("jdbc:odbc:javaicq","","");
String sql="select nickname,password from icq where icqno=?";
//准备从数据库选择呢称和密码
PreparedStatement prepare=c.prepareCall(sql);//设定数据库查寻条件
String icqno=in.readLine();
int g=Integer.parseInt(icqno);//取得输入的jicq号码
System.out.println(icqno);
String passwd=in.readLine().trim();//取得输入的密码
System.out.println(passwd);
prepare.clearParameters();
prepare.setInt(1,g);//设定参数
ResultSet r=prepare.executeQuery();//执行数据库查寻
if(r.next()){//以下比较输入的号码于密码是否相同
String pass=r.getString("password").trim();
System.out.println(pass);
if(passwd.regionMatches(0,pass,0,pass.length()))
{ out.println("ok");
//如果相同就告诉客户ok
//并且更新数据库用户为在线
//以及注册用户的ip 地址
//*************register ipaddress
String setip="update icq set ip=? where icqno=?";
PreparedStatement prest=c.prepareCall(setip);
prest.clearParameters();
prest.setString(1,socket.getInetAddress().getHostAddress());
System.out.println(socket.getInetAddress().getHostAddress());
prest.setInt(2,g);
int set=prest.executeUpdate();
System.out.println("ip="+socket.getInetAddress().getHostAddress()+" "+set);
//*************ipaddress
//set status online
//System.out.println("status = 1 "+set2);
String status="update icq set status=1 where icqno=?";
PreparedStatement prest2=c.prepareCall(status);
prest2.clearParameters();
prest2.setInt(1,g);
int set2=prest2.executeUpdate();
System.out.println("status = 1 "+set2);
//set online
}
//否者告诉客户失败
else out.println("false");
//r.close();
c.close();}
else{ out.println("false");
System.out.println("false");
// r.close();
//c.close();
}
}catch (Exception e){e.printStackTrace();}
socket.close();
}//end login
//登录结束
//以下为处理客户的新建请求
else if(str.equals("new")){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库
Connection c2=DriverManager.getConnection("jdbc:odbc:javaicq","","");
String newsql="insert into icq(nickname,password,status,email,info,place,pic,sex) values(?,?,?,?,?,?,?,?)";
//准备接受用户的呢称,密码,email,个人资料,籍贯,头像等信息
PreparedStatement prepare2=c2.prepareCall(newsql);
String nickname=in.readLine().trim();
String password=in.readLine().trim();
String email=in.readLine().trim();
String info=in.readLine().trim();
String place=in.readLine().trim();
String sex1;
int sex=Integer.parseInt(in.readLine());
//if(sex==0) sex1="男";else sex1="女";
int status=0;
int picindex=Integer.parseInt(in.readLine());
prepare2.clearParameters();
prepare2.setString(1,nickname);
prepare2.setString(2,password);
prepare2.setInt(3,status);
prepare2.setString(4,email);
prepare2.setString(5,info);
prepare2.setString(6,place);
prepare2.setInt(7,picindex);
prepare2.setInt(8,sex);
int r3=prepare2.executeUpdate();//执行数据库添加
if(r3==0)out.println("false");
else{
out.println("ok");
String sql2="select icqno from icq where nickname=?";
PreparedStatement prepare3=c2.prepareCall(sql2);
prepare3.clearParameters();
prepare3.setString(1,nickname);
ResultSet r2=prepare3.executeQuery();
int dd[]=new int[5];
int i=0;
while(r2.next()){
//out.println(r2.getInt(1));
no=r2.getInt(1);dd[i]=no;
System.out.println(dd[i]);
i++;
}
out.println(dd[i-1]);
//out.println("ok");
c2.close();}
//完毕
}catch (Exception e){e.printStackTrace();out.println("false");}
socket.close();
}//end new
//新建用户结束
//以下处理用户查找好友
else if(str.equals("find")){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c3=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//以下连接数据库,并且返回其他用户的呢称,性别,籍贯,个人资料等信息
String find="select nickname,sex,place,ip,email,info from icq";
Statement st=c3.createStatement();
ResultSet result=st.executeQuery(find);
while(result.next()){
out.println(result.getString("nickname"));
out.println(result.getString("sex"));
out.println(result.getString("place"));
out.println(result.getString("ip"));
out.println(result.getString("email"));
out.println(result.getString("info"));
}//while end
out.println("over");
////////GET ICQNO
int d,x;
boolean y;
//以下返回用户的jicq号码,头像号,及是否在线
ResultSet iset=st.executeQuery("select icqno,pic,status from icq");
while(iset.next()){
d=iset.getInt("icqno");
out.println(d);
x=iset.getInt("pic");//pic info
out.println(x);
y=iset.getBoolean("status");
if (y){out.println("1");}
else {out.println("0");}
//System.out.println(d);
}
// end send jicqno
// iset.close();
/////////icqno end
c3.close();//result.close();
}catch (Exception e){e.printStackTrace();System.out.println("false");}
//socket.close();
}//end find
//查找好友结束
//以下处理用户登录时读取其好友资料
else if(str.equals("friend")){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c4=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//以下连接好友表,返回用户的好友名单
String friend="select friend from friend where icqno=?";
PreparedStatement prepare4=c4.prepareCall(friend);
prepare4.clearParameters();
int icqno=Integer.parseInt(in.readLine());
System.out.println(icqno);
prepare4.setInt(1,icqno);
ResultSet r4=prepare4.executeQuery();
Vector friendno=new Vector();//该矢量保存好友号码
while(r4.next()){
friendno.add(new Integer(r4.getInt(1)));
}
//read friend info
//以下告诉客户其好友的呢称,号码,ip地址,状态,头像,个人资料等信息
out.println(friendno.size());
for(int i=0;i<friendno.size();i++){
String friendinfo="select nickname,icqno,ip,status,pic,email,info from icq where icqno=?";
PreparedStatement prepare5=c4.prepareCall(friendinfo);
prepare5.clearParameters();
prepare5.setObject(1,friendno.get(i));
ResultSet r5=prepare5.executeQuery();
boolean status;
while(r5.next()){
out.println(r5.getString("nickname"));
out.println(r5.getInt("icqno"));
out.println(r5.getString("ip"));
status=r5.getBoolean("status");
if (status)out.println("1");
else {out.println("0");}
out.println(r5.getInt("pic"));
out.println(r5.getString("email"));
out.println(r5.getString("info"));
} //while
// r5.close();
}//for
//发送完毕
out.println("over");
System.out.println("over");
c4.close();//r4.close();
}catch (Exception e){e.printStackTrace();System.out.println("false");}
//socket.close();
}//end friend
//读取好友信息完毕
//以下处理用户添加好友
else if(str.equals("addfriend")){
System.out.println("add");
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c6=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//连接数据库,根据接受的用户号码及好友号码向好友表添加记录
int friendicqno=Integer.parseInt(in.readLine());
System.out.println(friendicqno);
int myicqno=Integer.parseInt(in.readLine());
System.out.println(myicqno);
String addfriend="insert into friend values(?,?)";
PreparedStatement prepare6=c6.prepareCall(addfriend);
prepare6.clearParameters();
prepare6.setInt(1,myicqno);
prepare6.setInt(2,friendicqno);
int r6=0;
r6=prepare6.executeUpdate();
if(r6==1) System.out.println("ok addfrien");
else System.out.println("false addfriend");}catch (Exception e){e.printStackTrace();System.out.println("false");}//socket.close();
System.out.println("over addfriend");
}//end addfriend
//用户添加好友结束
//add new friend who add me
//以下处理其他用户如果加我,我就加他
else if(str.equals("addnewfriend")){
System.out.println("add");
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c6=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//连接数据库,根据接受的用户号码及好友号码向好友表添加记录
int friendicqno=Integer.parseInt(in.readLine());
System.out.println(friendicqno);
int myicqno=Integer.parseInt(in.readLine());
System.out.println(myicqno);
String addfriend="insert into friend values(?,?)";
PreparedStatement prepare6=c6.prepareCall(addfriend);
prepare6.clearParameters();
prepare6.setInt(1,myicqno);
prepare6.setInt(2,friendicqno);
int r6=0;
r6=prepare6.executeUpdate();
if(r6==1) System.out.println("ok addfrien");
else System.out.println("false addfriend");String friendinfo="select nickname,icqno,ip,status,pic,email,info from icq where icqno=?";
//如果成功,就向用户传递好友的基本信息,比如呢称等
prepare5.clearParameters();
prepare5.setInt(1,friendicqno);
ResultSet r5=prepare5.executeQuery();
boolean status;
while(r5.next()){
System.out.println("dsf");
out.println(r5.getString("nickname"));
out.println(r5.getInt("icqno"));
out.println(r5.getString("ip"));
status=r5.getBoolean("status");
if (status)out.println("1");
else {out.println("0");}
out.println(r5.getInt("pic"));
out.println(r5.getString("email"));
out.println(r5.getString("info"));
} //while
out.println("over");
//r5.close();
c6.close();
}catch (Exception e){e.printStackTrace();System.out.println("false");}
System.out.println("over addnewfriend");
}//end addfriend
//结束处理其他用户如果加我,我就加他
//delete friend
//以下执行用户删除好友
else if(str.equals("delfriend")){
System.out.println("del");
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c7=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//连接数据库,根据接受的用户号码及好友号码向好友表删除记录
int friendicqno=Integer.parseInt(in.readLine());
System.out.println(friendicqno);
int myicqno=Integer.parseInt(in.readLine());
System.out.println(myicqno);
String addfriend="delete from friend where icqno=? and friend=?";
PreparedStatement prepare7=c7.prepareCall(addfriend);
prepare7.clearParameters();
prepare7.setInt(1,myicqno);
prepare7.setInt(2,friendicqno);
int r7=0;
r7=prepare7.executeUpdate();
if(r7==1) System.out.println("ok delfrien");//成功
else System.out.println("false delfriend");//失败
}catch (Exception e){e.printStackTrace();System.out.println("del false");}
}//end delete friend
//执行用户删除好友结束
//以下处理用户退出程序
else if(str.equals("logout")){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c8=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//连接数据库,根据接受的用户号码,将其状态字段设为0,及ip地址设为空
int myicqno=Integer.parseInt(in.readLine());
System.out.println(myicqno);
String status="update icq set status=0 , ip=' ' where icqno=?";
PreparedStatement prest8=c8.prepareCall(status);
prest8.clearParameters();
prest8.setInt(1,myicqno);
int r8=prest8.executeUpdate();
if(r8==1) System.out.println("ok logout");
else System.out.println("false logout");
}catch (Exception e){e.printStackTrace();System.out.println("logout false");}
}//logout end
//处理用户退出程序结束
//get who add me as friend
//以下处理那些人加了我为好友,以便上线通知他们
else if(str.equals("xiugaimima")){
System.out.println("xiugaimima");
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c10=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//连接数据库,根据我的号码,从表中找出我的密码
int myicqno=Integer.parseInt(in.readLine());
String password=in.readLine().trim();
System.out.println(myicqno);
System.out.println(password);
String xiugaimima="select password from icq where icqno=?";
PreparedStatement prepare10=c10.prepareCall(xiugaimima);
prepare10.clearParameters();
prepare10.setInt(1,myicqno);
ResultSet r10=prepare10.executeQuery();
String pp="";
if(r10.next()){
pp=r10.getString("password").trim();
}
if(password.regionMatches(0,pp,0,pp.length())){
String password2=in.readLine().trim();
System.out.println(password2);
String status="update icq set password=? where icqno=?";
PreparedStatement prepare11=c10.prepareCall(status);
prepare11.clearParameters();
prepare11.setString(1,password2);
prepare11.setInt(2,myicqno);
int rr=prepare11.executeUpdate();
System.out.println(rr);
if(rr==1) {System.out.println("ok xiugai");
out.println("ok");
}
}
else out.println("false");
c10.close();
}catch(Exception e){System.out.println("xiugai cuowu");}
}else if(str.equals("jibenxinxi")){
System.out.println("xiugaijibenxinxi");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c88=DriverManager.getConnection("jdbc:odbc:javaicq","","");
int myicqno=Integer.parseInt(in.readLine());
System.out.println(myicqno);
String newsql="update icq set nickname=?,email=?,info=?,place=?,pic=?,sex=? where icqno=?";
//准备接受用户的呢称,email,个人资料,籍贯,头像等信息
PreparedStatement prepare88=c88.prepareCall(newsql);
String nickname=in.readLine().trim();
String email=in.readLine().trim();
String info=in.readLine().trim();
int place=Integer.parseInt(in.readLine());
// int sex=Integer.parseInt(in.readLine());
// if(sex==0) sex1="男";else sex1="女";
int picindex=Integer.parseInt(in.readLine());
int sex1=Integer.parseInt(in.readLine());
prepare88.clearParameters();
prepare88.setString(1,nickname);
prepare88.setString(2,email);
prepare88.setString(3,info);
prepare88.setInt(4,place);
prepare88.setInt(5,picindex);
prepare88.setInt(6,sex1);
prepare88.setInt(7,myicqno);
int r88=prepare88.executeUpdate();
if(r88==1) out.println("ok");
else out.println("false");
c88.close();
}catch(Exception e){System.out.println(e);}
}
else if(str.equals("fanhuixinxi")){
System.out.println("fanhuixinxi");
int myicq=Integer.parseInt(in.readLine());
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c99=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//以下连接数据库,并且返回其他用户的呢称,性别,籍贯,个人资料等信息
String fanhui="select nickname,sex,place,email,info,pic from icq where icqno=?";
PreparedStatement prepare99=c99.prepareCall(fanhui);
prepare99.clearParameters();
prepare99.setInt(1,myicq);
ResultSet result99=prepare99.executeQuery();
while(result99.next()){
out.println(result99.getString("nickname"));
out.println(result99.getString("sex"));
out.println(result99.getString("place"));
//out.println(result.getString("ip"));
out.println(result99.getString("email"));
out.println(result99.getString("info"));
out.println(result99.getString("pic"));
}//while end
System.out.println("ok,fanhuile");
c99.close();
}catch(Exception e){
System.out.println(e);
System.out.println("cou le ya");
}
}else if(str.equals("getwhoaddme")){
System.out.println("getwhoaddme");
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c9=DriverManager.getConnection("jdbc:odbc:javaicq","","");
//连接数据库,根据我的号码,从好友表中选择谁加了我