一个非常菜的问题

03-05-13 aaa_yanhua

我想建一个动态数组,把Socket接到的字符以Num为下标加入到
名为SocketPackage里面 代码如下:

//建立线程实例
ServerSocket serversocket=null;
Socket clientrequest=null;
int Num=0;
//取Socket包值
String ReadLine;
//把Socket接受到的数据放入队列用到的数组
StringBuffer[] SocketPackage;
//调用配置文件读出端口号
/* PortId=method()*/

//监听状态参数
boolean listening=true;
try{ serversocket=new ServerSocket(4700);
}catch(IOException e){
System.exit(-1); }

/*下面要运行程序的思路是:把Socket接收到的包放入数组,激发线程
保证同时运行的运行的线称不超过1000 */

while(listening) {
clientrequest=serversocket.accept();
BufferedReader is=new BufferedReader(new InputStreamReader(clientrequest.getInputStream()));
ReadLine=is.readLine();
Num++;
//到这里如何把 ReadLine 加到SocketPackage数组里就不会了
  

}

shyguy
2003-05-13 20:14

用VB过来的朋友,如果不清楚OO,会死得很惨得~~~
偶碰见过一个博士朋友,就是用Java语言写C程序得,牛鼻啊~~~

aaa_yanhua
2003-05-14 08:50

解决的方法你还没告诉我呀

aaa_yanhua
2003-05-14 09:43

找到方法了,不用数组,改用队列就行了,其实vb,也好,java也好,都跳不出编程,没前面仁兄说的那么触目精心。

banq
2003-05-14 10:09

两个方法:
1. 一个一个字节到放入
2. 寻找stream 到数组的API方法,应该有。

顺便说一句,使用NIO 操作Socket, 直接返回的是Buffer
buffer可以方便转换成你要的String 或byte

在写Socket这样“底层”的代码时,很容易变成C的写法,这是非常有可能的。