一个非常菜的问题

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的写法,这是非常有可能的。