请教一个Java的Socket通信程序的调试问题.
高手,您好:我在写一个“Java的Socket通信”的程序的登录模块..
C端连接S端,出现了问题...
希望高手帮助我分析一下原因,源代码如下:
(我的S端的代码:)
package s_port_package_BeiJing;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.concurrent.ArrayBlockingQueue;
import javax.swing.JFrame;
public class ChatServer extends JFrame {
/**
* ChatServer.java
* 2013-5-9
* @author cjco
*/
//全局定义区域:定义各种成员变量;
int SysPreDoctorNum = 2000;
int SysPreCustomerNum = 2000;
static Integer MyMEMNum = 202;
static Integer MyCUSNum = 202;
static String D_PORT_SERVER = "127.0.0.1";
static String S_PORT_SERVER = "127.0.0.1";
static String C_PORT_CLIENT = "127.0.0.1";
static String[] bufMemUID = new String[MyMEMNum];
static String[] bufMemPWD = new String[MyMEMNum];
static String[] bufCusUID = new String[MyCUSNum];
static String[] bufCusPWD = new String[MyCUSNum];
String MyMemIDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"registeredMemUID.txt";
String MyMemPWDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"registeredMemPWD.txt";
String MyCustomerIDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"CustomerID.txt";
String MyCustomerPWDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"CustomerPWD.txt";
String MyRole = null;
String MySysNum = null;
ServerSocket ss1 = null;
String buffertemp = null;
String MyInfo = null;
String[] buffer = null;
String MySysRole = null;
public static int Index = 0;
static int num = 0;
int[] a = null;
int para = -1;
int condition = -1;
private static final long serialVersionUID = 1L;
boolean started = false;
static Socket so1;
static Socket so2;
File f = null;
static int PM_linknumlog = 0;
DataOutputStream dops2 = null;
DataOutputStream dips2 = null;
DataOutputStream dops12 = null;
public static int[] LocalDoctoronline = new int[MyMEMNum];
public int[] LocalDoctoronlineCondition = new int[MyMEMNum];
public int[] Doctorcomplicatingnum = new int[MyMEMNum];
ArrayBlockingQueue<String> sportmessagelist = new ArrayBlockingQueue<String>(100000,true);
public static MyMemHashMap mapDoctoronline = new MyMemHashMap();
public static MyCusHashMap mapCustomeronline = new MyCusHashMap();
public static ArrayBlockingQueue<String> GoalDoctorchatwordlist = null;
public static ArrayBlockingQueue<String> GoalCustomerchatwordlist = null;
public static ArrayBlockingQueue<DataOutputStream> GoalDoctorSendInfo = null;
public static ArrayBlockingQueue<DataOutputStream> GoalCustomerSendInfo = null;
public static void main(String[] args) {
try {
so2 = new Socket(D_PORT_SERVER,9999);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
new ChatServer().start();
}
//“C端用户的其他Socket请求的"交给线程处理"动作。
public void start(){
try {
dops2 = new DataOutputStream(so2.getOutputStream());
dops2.writeUTF("0#0#BeiJingWangFuZhongXiJieHeYiYuan#0#Start#S#BeiJing");
dops2.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ReadTxt.read(MyMemIDPath);
int numID = ReadTxt.logData.size();
for(int i = 0;i<numID;i++){
bufMemUID[i]=ReadTxt.logData.get(i);
}
ReadTxt.logData.clear();
ReadTxt.read(MyMemPWDPath);
int MemnumPWD = ReadTxt.logData.size();
for(int i = 0;i<MemnumPWD;i++){
bufMemPWD[i]=ReadTxt.logData.get(i);
}
ReadTxt.logData.clear();
ReadTxt.read(MyCustomerIDPath);
numID = ReadTxt.logData.size();
System.out.println(numID);
for(int i=0;i<numID;i++){
bufCusUID[i] = ReadTxt.logData.get(i);
}
ReadTxt.logData.clear();
ReadTxt.read(MyCustomerPWDPath);
int CusnumPWD = ReadTxt.logData.size();
for(int i =0;i<CusnumPWD;i++){
bufCusPWD[i]=ReadTxt.logData.get(i);
}
GoalDoctorchatwordlist = new ArrayBlockingQueue<String>(100000,true);
GoalCustomerchatwordlist = new ArrayBlockingQueue<String>(100000,true);
GoalDoctorSendInfo = new ArrayBlockingQueue<DataOutputStream>(SysPreDoctorNum,true);
GoalCustomerSendInfo = new ArrayBlockingQueue<DataOutputStream>(SysPreCustomerNum,true);
ReadTxt.logData.clear();
try {
Arrays.fill(LocalDoctoronline, 0);
// TODO Auto-generated method stub
ss1 = new ServerSocket(8888,50);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true){
//创建绑定到端口8888的ServerSocket对象
try {
so1 = ss1.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(so1+"|||---");
System.out.println("服务器正在对8888端口进行监听");
//服务器循环接受客户端的请求,为不同的客户端提供服务
try {
System.out.println("进入try");
System.out.println("进入try1");
DataInputStream dips1 = new DataInputStream(so1.getInputStream());
DataOutputStream dops12 = new DataOutputStream(so1.getOutputStream());
System.out.println("进入try2");
buffertemp = dips1.readUTF();
System.out.println("进入try3");
System.out.println("C_port_connect"+"I'm_Doctor_From_BeiJing");
System.out.println(buffertemp);
buffer = buffertemp.split("[#]");
System.out.println("S:"+buffer);
condition = Integer.parseInt(buffer[0]);
System.out.println("S:"+condition);
MyInfo = buffer[1];
System.out.println(MyInfo);
MySysRole = buffer[2];
MyRole = buffer[3];
MySysNum = buffer[4];
if(MySysRole.equals("D")){
ManageTheChannel3RecvUserAccountLoopSendClientNum mb = new ManageTheChannel3RecvUserAccountLoopSendClientNum("Thread_3",MyInfo,this,dops12);
mb.start();
}else{
if(Integer.parseInt(MySysNum)==200){
if(MyRole.equals("Doctor")){
LocalDoctoronline[Integer.parseInt(MySysNum)]=1;
LocalDoctoronlineCondition[Integer.parseInt(MySysNum)]=1;
}
}
switch(condition){
case 0:
{//已对照完毕.
ManageTheChannel0ConfirmandSaveDS obj0 = new ManageTheChannel0ConfirmandSaveDS(dops12,this,MyInfo);
Thread m0 = new Thread(obj0,"MyThread1");
m0.start();
break;
}
case 1:
{
Complete_ManageTheChannel1SendInfo m1 = new Complete_ManageTheChannel1SendInfo("Thread2",this,MyInfo);
m1.start();
break;
}
case 2:
{//已对照完毕.
ManageTheChannel2ExitSysGivOrderNum m2 = new ManageTheChannel2ExitSysGivOrderNum(dops12,"Thread3",MyInfo,this);
m2.start();
break;
}
case 3:
{
}
case 4:
{
ManageTheServiceValueForEnterprise m4 = new ManageTheServiceValueForEnterprise(MyInfo,dops12);
m4.start();
}
case 6:
{
GetOurServiceWorkValue m6 = new GetOurServiceWorkValue(MyInfo,dops12);
m6.start();
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
S端的上述框架类中的“第174行的ManageTheChannel0ConfirmandSaveDS类”,他是负责进行“用户的登陆账户和密码的"本系统库中有无此人”的逻辑确认的.
他的源代码如下:
(由于篇幅原因,请高手见我之后的跟帖..) socket 源代码 调试 通信 登陆 --------------------编程问答-------------------- 上文中的ManageTheChannel0ConfirmandSaveDS类的源代码如下:
package s_port_package_BeiJing;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class ManageTheChannel0ConfirmandSaveDS implements Runnable{
ChatServer Localdemo = null;
int condition = -1;
Integer MyIndex = 0;
Integer MyIndexCustomer = 0;
static String str1,str2,str3;
int Myonline = 1;
static Socket so1 = null;
int j = 0;
boolean ismember = false;
boolean iscustomer = false;
byte[] b1 = new byte[1024];
byte[] b2 = new byte[1024];
int lenone = 0;
int lentwo=0;
DataOutputStream Localdops1 = null;
DataInputStream Localdips1 = null;
String LocalBufffer,MyRole,UserIP,MyUID,MyPWD = null;
String[] buffers2 = null;
String MySocketData = null;
public ManageTheChannel0ConfirmandSaveDS(DataOutputStream dops1,ChatServer demo,String SocketData) {
System.out.println("S_port_0_thread");
Localdemo = demo;
MySocketData = SocketData;
Localdops1 = dops1;
}
public void run(){
try {
System.out.println("CJCO");
buffers2 = MySocketData.split("[%]");
System.out.println(buffers2);
MyUID = buffers2[0];
MyPWD = buffers2[1];
MyRole = buffers2[2];
UserIP = buffers2[3];
if(MyRole.equals("Teacher")){
ismember = confirmTeacher();
if(ismember){
System.out.println("S_port_0_thread_53");
int TeacherIndex = GetUserIndex.returnTeacherIndex(MyUID);
MyIndex = new Integer(TeacherIndex);
Localdops1 = new DataOutputStream(so1.getOutputStream());
Localdops1.writeUTF("true"+"#"+String.valueOf(MyIndex));
Localdops1.flush();
ChatServer.LocalTeacheronline[MyIndex]=1;
S_port_ChatClientTeacher_DS D1 = new S_port_ChatClientTeacher_DS(MyIndex,buffers2[0],"Teacher",buffers2[2],so1,1);
ChatServer.mapTeacheronline.put(GetUserIndex.returnTeacherIndex(MyUID),D1);
}else{
Localdops1.writeUTF("false"+"#"+"201");
}
}else{
iscustomer = confirmCustomer();
if(iscustomer){
System.out.println("S_port_0_thread_69");
int CustomerIndex = GetUserIndex.returnCustomerIndex(MyUID);
MyIndex = new Integer(CustomerIndex);
Localdops1.writeUTF("true"+String.valueOf(MyIndex));
Localdops1.flush();
S_port_ChatClientCustomer_DS D1 = new S_port_ChatClientCustomer_DS(MyIndex,buffers2[0],"Customer",buffers2[2],so1,1);
ChatServer.mapCustomeronline.put(GetUserIndex.returnCustomerIndex(MyUID),D1);
}else{
System.out.println("S_port_0_thread_78");
Localdops1.writeUTF("false"+"#"+"201");
}
}} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public boolean confirmTeacher(){
int i = 0;
System.out.println(ChatServer.bufMemUID[0]+"1");
System.out.println(ChatServer.bufMemPWD[0]+"2");
System.out.println(MyUID+"3");
System.out.println(MyPWD+"4");
while (i < ChatServer.bufMemUID.length) {
if ((MyUID == ChatServer.bufMemUID[i]) && (MyPWD == ChatServer.bufMemPWD[i])) {
return true;
}
i++;
}
System.out.println(MyUID+"5");
System.out.println(MyPWD+"6");
System.out.println(ChatServer.bufMemUID[0]+"7");
System.out.println(ChatServer.bufMemPWD[0]+"8");
return false;
}
public boolean confirmCustomer(){
int i = 0;
while (i < ChatServer.bufCusUID.length) {
if ((MyUID == ChatServer.bufCusUID[i]) && (MyPWD == ChatServer.bufCusPWD[i])) {
return true;
}
i++;
}
return false;
}
}
我的C端对应的登录模块的代码如下:
(Login窗口)
package c_port_packageBJStudent;
import java.awt.Rectangle;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import c_port_packageYCDoctor.MyJButton;
public class Login extends JFrame{
/**
*
*/
public static String D_PORT_SERVER = "127.0.0.1";
private static final long serialVersionUID = 1L;
/**
* @param args
*/
JTextField jtf0 = new JTextField();
JTextField jtf1 = new JTextField();
JLabel jl0 = new JLabel();
JLabel jl1 = new JLabel();
MyJButton jb2 = new MyJButton("注册","127.0.0.1");
MyJButtonPayForSysProduct jb3 = new MyJButtonPayForSysProduct("买担保");
JPasswordField jpwf = new JPasswordField();
JPanel jp1 = new JPanel();
public static String UID = null;
static String PWD = null;
static String D_port_Server = "127.0.0.1";
static String S_port_Server = "127.0.0.1";
Socket so2 = null;
Socket so3 = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
new Login();
}
public Login(){
this.setTitle("赤兔马网络答疑学校,让您的孩子,从杜月笙成为段永平");
try {
so2 = new Socket(D_port_Server,9999);
so3 = new Socket(S_port_Server,8888);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MyJButtonLogin jb1 = new MyJButtonLogin("登陆",jtf0.getText(),jtf1.getText(),this,so2,so3);
this.setSize(500,600);
this.setVisible(true);
this.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
jb1.setBounds(new Rectangle(30,220,80,30));
jb2.setBounds(new Rectangle(236,220,80,30));
jb3.setBounds(new Rectangle(128,220,90,30));
jp1.setLayout(null);
jp1.add(jb1);
jp1.add(jb2);
jtf0.setBounds(new Rectangle(73,115,220,25));
jp1.add(jtf0);
jpwf.setBounds(new Rectangle(73,150,220,25));
jp1.add(jpwf) ;
jl0 = new JLabel("用户名");
jl1 = new JLabel("密码");
jl0.setBounds(new Rectangle(30,115,40,25));
jl1.setBounds(new Rectangle(30,150,40,25));
jp1.add(jl0);
jp1.add(jl1);
jp1.add(jb3);
this.add(jp1);
this.setBounds(500,218,370,330);
this.setContentPane(jp1);
UID = jtf0.getText();
PWD = jtf1.getText();
}
}
我的C端的对应的“登陆功能的源代码”如下:
(Login类)
package c_port_packageBJDoctor;
import java.awt.Rectangle;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import c_port_packageYCDoctor.MyJButton;
public class Login extends JFrame{
/**
*
*/
public static String D_PORT_SERVER = "127.0.0.1";
private static final long serialVersionUID = 1L;
/**
* @param args
*/
JTextField jtf0 = new JTextField();
JTextField jtf1 = new JTextField();
JLabel jl0 = new JLabel();
JLabel jl1 = new JLabel();
MyJButton jb2 = new MyJButton("注册","127.0.0.1");
MyJButtonPayForSysProduct jb3 = new MyJButtonPayForSysProduct("买担保");
JPasswordField jpwf = new JPasswordField();
JPanel jp1 = new JPanel();
public static String UID = null;
static String PWD = null;
static String D_port_Server = "127.0.0.1";
static String S_port_Server = "127.0.0.1";
Socket so2 = null;
Socket so3 = null;
DataOutputStream dops2 = null;
DataOutputStream dops3 = null;
DataInputStream dips2 = null;
DataInputStream dips3 = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
new Login();
}
public Login(){
this.setTitle("赤兔马网络答疑学校,让您的孩子,从杜月笙成为段永平");
try {
so2 = new Socket(D_port_Server,9999);
so3 = new Socket(S_port_Server,8888);
dops2 = new DataOutputStream(so2.getOutputStream());
dips2 = new DataInputStream(so2.getInputStream());
dops3 = new DataOutputStream(so3.getOutputStream());
dips3 = new DataInputStream(so3.getInputStream());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(jtf0.getText());
System.out.println(jtf1.getText());
MyJButtonLogin jb1 = new MyJButtonLogin("登陆",jtf0.getText(),jtf1.getText(),this,dops2,dops3,dips2,dips3);
this.setSize(500,600);
this.setVisible(true);
this.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
jb1.setBounds(new Rectangle(30,220,80,30));
jb2.setBounds(new Rectangle(236,220,80,30));
jb3.setBounds(new Rectangle(128,220,90,30));
jp1.setLayout(null);
jp1.add(jb1);
jp1.add(jb2);
jtf0.setBounds(new Rectangle(73,115,220,25));
jp1.add(jtf0);
jpwf.setBounds(new Rectangle(73,150,220,25));
jp1.add(jpwf) ;
jl0 = new JLabel("用户名");
jl1 = new JLabel("密码");
jl0.setBounds(new Rectangle(30,115,40,25));
jl1.setBounds(new Rectangle(30,150,40,25));
jp1.add(jl0);
jp1.add(jl1);
jp1.add(jb3);
this.add(jp1);
this.setBounds(500,218,370,330);
this.setContentPane(jp1);
UID = jtf0.getText();
PWD = jtf1.getText();
}
}
(上文中的第70行代码的“MyJButtonLogin”类的源代码如下:)
【请高手见下文...】
--------------------编程问答--------------------
package c_port_packageBJDoctor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JButton;
public class MyJButtonLogin extends JButton {
static NoteUserLoginFrame cjco;
boolean isMyUser = false;
DataOutputStream Localdops3 = null;
DataOutputStream Localdops2 = null;
DataInputStream Localdips3 = null;
DataInputStream Localdips2 = null;
String MySysNum = null;
public static String MyUID = null;
public static String MyPWD = null;
String str2 = null;
public static String str3 = null;
String str4 = null;
Login log = null;
Socket so2 = null;
Socket so3 = null;
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @param args
*/
public MyJButtonLogin(String button, String UID, String pwd, Login login,DataOutputStream dops2,DataOutputStream dops3,DataInputStream dips2,DataInputStream dips3) {
super(button);
MyUID = UID;
MyPWD = pwd;
Localdops2 = dops2;
Localdops3 = dops3;
Localdips2 = dips2;
Localdips3 = dips3;
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
str3=addr.getHostAddress().toString();//获得本机IP
log = login;
System.out.println("" + log.toString());
this.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent et) {
log.setVisible(false);
try {
Localdops3.writeUTF("0#"+MyUID + "%" + MyPWD+"%"+"Doctor"+"%"+str3+"#"+"C"+"#"+"Doctor"+"#"+"200");
Localdops3.flush();
String str = Localdips3.readUTF();
System.out.println(str);
System.out.println("MyJButtonLogin_start");
cjco = new NoteUserLoginFrame(MyUID,MyPWD,Localdips2,Localdips3,Localdops2,Localdops3);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
}
我的上文中的“NoteUserLoginFrame类”的源代码如下:
package c_port_packageBJDoctor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JButton;
public class MyJButtonLogin extends JButton {
static NoteUserLoginFrame cjco;
boolean isMyUser = false;
DataOutputStream Localdops3 = null;
DataOutputStream Localdops2 = null;
DataInputStream Localdips3 = null;
DataInputStream Localdips2 = null;
String MySysNum = null;
public static String MyUID = null;
public static String MyPWD = null;
String str2 = null;
public static String str3 = null;
String str4 = null;
Login log = null;
Socket so2 = null;
Socket so3 = null;
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @param args
*/
public MyJButtonLogin(String button, String UID, String pwd, Login login,DataOutputStream dops2,DataOutputStream dops3,DataInputStream dips2,DataInputStream dips3) {
super(button);
MyUID = UID;
MyPWD = pwd;
Localdops2 = dops2;
Localdops3 = dops3;
Localdips2 = dips2;
Localdips3 = dips3;
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
str3=addr.getHostAddress().toString();//获得本机IP
log = login;
System.out.println("" + log.toString());
this.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent et) {
log.setVisible(false);
try {
Localdops3.writeUTF("0#"+MyUID + "%" + MyPWD+"%"+"Doctor"+"%"+str3+"#"+"C"+"#"+"Doctor"+"#"+"200");
Localdops3.flush();
String str = Localdips3.readUTF();
System.out.println(str);
System.out.println("MyJButtonLogin_start");
cjco = new NoteUserLoginFrame(MyUID,MyPWD,Localdips2,Localdips3,Localdops2,Localdops3);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
}
现在我的MyEclipse编译器的错误输出是:
“C端的console窗口”:
c_port_packageBJDoctor.Login[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=赤兔马网络答疑学校,让您的孩子,从杜月笙成为段永平,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
“S端的console窗口”:
两个窗口,全部“没有报任何错”,但是,也没有给出我想要的结果...
(S端的console窗口,没有打印出“我想要的try3代码块所进行的"插桩测试输出"”的结果..
希望得到高手的点拨:
弟我的代码,什么地方出现的问题...?
静候高手的点拨!! --------------------编程问答-------------------- 补充一句:
我的S端的“插桩代码行”在ChatServer类中的第149行的代码位置处...
希望得到高手的点拨!! --------------------编程问答-------------------- NoteUserLoginFrame 的代码写错了
目测跟MyJButtonLogin 的代码一样
--------------------编程问答-------------------- 另外第一次防线package是用_的,涨姿势了~~ --------------------编程问答-------------------- 这么多代码叫别人怎么看啊 --------------------编程问答-------------------- 灌水的混子哥,谢谢你的提醒..
由于今天的匆忙..
弟我没有将代码检查仔细,写错了一个类文件..
完整的代码如下:
(NoteUserLoginFrame类:)
package c_port_packageBJDoctor;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class NoteUserLoginFrame extends JFrame implements WindowListener{
/**
*
*/
private static final long serialVersionUID = 1L;
JPanel jP1 = new JPanel();
static String MyworkNum = null;
Font fnt = new Font("宋体",0,20);
static JLabel jL0 = new JLabel();
JLabel jL1 = new JLabel();
DataInputStream dips = null;
String SocketData = null;
String[] buffer = null;
DataInputStream Localdips2 = null;
DataOutputStream Localdops2 = null;
DataInputStream Localdips3 = null;
DataOutputStream Localdops3 = null;
String isOurUser = null;
boolean isUser = false;
public NoteUserLoginFrame(String UID,String PWD,DataInputStream dips2,DataInputStream dips3,DataOutputStream dops2,DataOutputStream dops3){
this.setTitle("系统信息提示:");
System.out.println("NoteUserLoginFrame_start");
jP1.setLayout(new BorderLayout());
System.out.println("test1");
jL0.setText("客户端正在登陆,请尊敬的用户稍等十几秒钟,我们正在与我们的服务器进行数据通信!!请您耐心等待!!");
System.out.println("test2");
jL0.setFont(fnt);
System.out.println("test5");
jP1.add(jL0,BorderLayout.CENTER);
System.out.println("test6");
this.add(jP1);
System.out.println("test7");
setBounds(200,300,1000,100);
System.out.println("test8");
setVisible(true);
System.out.println("test9");
Localdips2 = dips2;
Localdips3 = dips3;
Localdops2 = dops2;
Localdops3 = dops3;
try {
SocketData = Localdips3.readUTF();
System.out.println("test10");
buffer = SocketData.split("[#]");
System.out.println("S_port_Data_Access:"+buffer);
System.out.println(buffer);
isOurUser = buffer[0];
System.out.println(isOurUser);
MyworkNum = buffer[1];
System.out.println(MyworkNum);
isUser = Boolean.parseBoolean(isOurUser);
System.out.println(isUser);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(isUser){
new RelayNo1(UID,PWD,isUser,Localdips2,Localdips3,Localdops2,Localdops3,MyworkNum);
}
}
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
}
希望得到高手的相助:
将弟我的这个类文件,他的源代码,犯的错误,告诉我...
谢谢灌水的混子!!
谢谢高手!!
补充:Java , Java SE