怎么能用char呢,char只能到128,看看你的数组大小4096,是128的n倍。还有貌似你的
readBytes = sendFile.get()返回的是‘\n’的ansci码吧,怎么可以作为send的参数呢。
还有你怎么不用read函数读取整个文本呢,干嘛要一行行读取?你这么发送很不安全的!
可以写个demo试一下啊,应该是可以的,socket接收到的消息只能被其中一个线程接收。线程1和2
接受到的肯定不是同一个消息。会有先后之分。看你怎么控制。比如从接收的消息是abcd,那么这相当于一个资源。线程1和2在这里拿消息,拿到之后,socket里面就少了,比如线程1拿到ab,线程2拿到cd
java中用socket一次传多个文件,参考思路如下:1、把线程放到Vector 线程池里面;
2 、每次从Vector里面拿到第一个空闲的,如果没有,就新建一个线程,并保存到线程池, 线程状态为使用中;
3 、线程完毕后,通知管理类,管理类把线程标识为空闲;
可以封装为简单的方法,如下:
public MyThread getFreeThread(){
.. // 从池里面获取一个空闲线程
}
public void finished(MyThread o){
// 线程通知管理类,我已经完成了
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)