首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求高手点拨一个8K行“CS结构聊天系统的”“集成测试”有关问题.

2013-08-20 
求高手点拨一个8K行“CS结构聊天系统的”“集成测试”问题....高手,您好:我是一名学习软件工程的学生,现在,我

求高手点拨一个8K行“CS结构聊天系统的”“集成测试”问题....
高手,您好:
    我是一名学习软件工程的学生,现在,我正在做一个CS结构的聊天系统。这是我的第一个Java作品。写了近8K行代码,调试了好几周的时间,现在,编译时错误已经排查完毕。弟我现在已经做出了一个“集成测试”的环境,准备将其中的各个功能类,进行集成.
    我的设计思路是:
    做出CSD的聊天系统:
    D端:开发者端.
    S端:运营者端.
    C端:整个系统客户端.
    在运行程序的时候,首先D端打开,S端连接到D端,然后,C端用户上线,连接到S端和D端进行数据通信.
    现在,弟我初步得到了下面的成果:
    排查掉了几十个类文件中的编译错误.   
    并且,现在弟我打开D端后,能够没有运行时错误,S端打开后,连接D端.
    早晨弟我在CSDN中的提问,得到了高手的点拨.
    让我的“S端连接D端的几个运行时错误”,得到排查,并且,弟我得到了很大的启发.
    由于工期紧张,希望能够再次得到CSDN中高手的回复指导:
    现在弟我将我的D端的入口类进行了运行后,无运行时错误。弟我将S端的入口类运行后,此时编译器报出的错误为:
    求高手点拨一个8K行“CS结构聊天系统的”“集成测试”有关问题.
    这个时候,我的D端的代码如下:

    package d_port_package;

import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class D_Updata_c_port_Data {
static int[] Localmemberonline = new int[200];
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";
DataInputStream dips0 = null;
ServerSocket ss1 = null; 
Socket s1 = null;
Socket s2 = null;
byte b = 'b';

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
new D_Updata_c_port_Data().startGetValue();
}

public void startGetValue(){
try {
ss1 = new ServerSocket(9999,50);
while(true){
s1 = ss1.accept();
int condition = dips0.read();
switch(condition){
case 'a':
{
D_ManageTheChannel11DS m11 = new D_ManageTheChannel11DS(s1,"Thread_11");
m11.start();
D_ManageTheChannel12DS m12 = new D_ManageTheChannel12DS(s2,"Thread_12");
m12.start();
}
case 'b':
{
D_ManageTheChannel21DS m21 = new D_ManageTheChannel21DS(s1,"Thread_21");
m21.start();
D_ManageTheChannel22DS m22 = new D_ManageTheChannel22DS(s2,"Thread_22");
m22.start();
}
case 'F':
{
D_portManageTheSysRegister m3 = new D_portManageTheSysRegister(s1,"Thread_3");


m3.start();
}
case 'M':
{
D_ManageTheChannel31DS m4 = new D_ManageTheChannel31DS(s1,"Thread_4");
m4.start();
}
}

}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}



     弟我的S端的代码为:
     package s_port_package_BeiJing;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Arrays;
import java.util.HashMap;

import javax.swing.JFrame;

public class ChatServer extends JFrame {
/**
 * ChatServer.java
 * 2013-5-9
 * @author cjco
 */
    //全局定义区域:定义各种成员变量;
ServerSocket ss1 = null;
public static int Index = 0;
static int num = 0;
int[] a = null;
int condition = -1;
private static final long serialVersionUID = 1L;
boolean started = false;
static Socket so1;
Socket so4;
static int PM_linknumlog = 0;
DataOutputStream dos1 = null;
DataOutputStream dos2 = null;
DataOutputStream dos3 = null;
DataInputStream dis1 = null;
DataInputStream dis2 = null;
DataInputStream dis3 = null;
ObjectOutputStream oops = null;
static int[] Localstaff = new int[200];
static int[] LocalMemberonline = new int[200];
static int[] Membercomplicatingnum = new int[200];

public static S_port_ChatClientMember_DS JB0 = null;
public static S_port_ChatClientMember_DS JB1 = null;
public static S_port_ChatClientMember_DS JB2 = null;
public static S_port_ChatClientMember_DS JB3 = null;
public static S_port_ChatClientMember_DS JB4 = null;
public static S_port_ChatClientMember_DS JB5 = null;
public static S_port_ChatClientMember_DS JB6 = null;
public static S_port_ChatClientMember_DS JB7 = null;


public static S_port_ChatClientMember_DS JB8 = null;
public static S_port_ChatClientMember_DS JB9 = null;
public static S_port_ChatClientMember_DS JB10 = null;
public static S_port_ChatClientMember_DS JB11 = null;
public static S_port_ChatClientMember_DS JB12 = null;
public static S_port_ChatClientMember_DS JB13 = null;
public static S_port_ChatClientMember_DS JB14 = null;
public static S_port_ChatClientMember_DS JB15 = null;
public static S_port_ChatClientMember_DS JB16 = null;
public static S_port_ChatClientMember_DS JB17 = null;
public static S_port_ChatClientMember_DS JB18 = null;
public static S_port_ChatClientMember_DS JB19 = null;
public static S_port_ChatClientMember_DS JB20 = null;


public static HashMap<Byte,S_port_ChatClientcustomer_DS> mapcustomer = new HashMap<Byte,S_port_ChatClientcustomer_DS>();

public static HashMap<Byte,S_port_ChatClientMember_DS> mapMember = new HashMap<Byte,S_port_ChatClientMember_DS>();


public static void main(String[] args) {
new ChatServer().start();
}



public static int creatIndex(){
int MemberSystemIndex = ChatServer.Index++;
return MemberSystemIndex;
}

            //“C端用户的其他Socket请求的"交给线程处理"动作。
    public void start(){
    try {
    final String D_PORT_SERVER = "127.0.0.1";
    final String S_PORT_SERVER = "127.0.0.1";
    final String C_PORT_CLIENT = "127.0.0.1";
    Arrays.fill(LocalMemberonline, 0);
    // TODO Auto-generated method stub
            File f=new File("D://MyDoc//Chatlog.txt");
    Socket s4 = new Socket(D_PORT_SERVER,9999);
    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端口进行监听");
               //服务器循环接受客户端的请求,为不同的客户端提供服务
        InputStream in; 
        
try {
in = so1.getInputStream();
        BufferedReader buffReder = new BufferedReader(new InputStreamReader(in));
        condition = buffReder.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
            switch(condition){
            case 0:
            {
            ManageTheChannel0ConfirmandSaveDS m0 = new ManageTheChannel0ConfirmandSaveDS(so1,"Thread0");
            m0.start();
            break;
            }
            case 1:
            {
            ManageTheChannel1SendInfo m1 = new ManageTheChannel1SendInfo(so1,"Thread1");
            m1.start();
            break;
            }
            case 2:
            {
            ManageTheChannel2ExitSysGivOrderNum m2 = new ManageTheChannel2ExitSysGivOrderNum(so1,"Thread2");
            m2.start();
            break;


            }
            case 3:
            {
            
            }
            }
    }
    }
}


     弟我的上面的代码,希望能够得到高手的回答:
     怎么排查掉弟我贴出的图中第32行和第24行代码中的运行时错误...?
     在线静候高手的点拨!!
     一百分奉上!!
                                                                一位日日夜夜向着理想奔跑的筑梦者
                                                                2013年8月16日晚上11点32分星期五 地址都忘发了

热点排行
Bad Request.