给你个思路,Server里面有所有登陆进来的客户端列表,List list;
服务器启动后,开个线程.
new Thread(){
@Override
public void run(){
while(true){
// 遍历list,给每一个Client发送1500条信息
// 伪代码
for(Client client:list){
new Socket(client.ip,客户端提供的接收消息端口号).getOutputStream().write("消息");
}
}
}
}.start();
客户端启动后:执行以下代码
Socket socket=new Socket(提供接受消息服务的端口);//监听服务器发过来的消息
while(true){
final Socket mySocket = socket.accept();
//如果是要在接收的同时去验证链接是否正常,(即没接收消息则不验证?),那用一个对象,里面有个值可代表是否接受完 如A有个boolean 字段receiving,
//对这次通讯生成一个判断结束的对象
final A a=new A();
a.receiving=true;
new Thread() {
@Override
public void run() {
mySocket.getInputStream().read(byte[]); //取消息
//当取完信息后,改变receiving的值为false
a.receiving=false;
}
}.start();
// 再开一线程,做为验证链接正常的功能
new Thread(){
public void run(){
while(a.receiving){ //当本次信息未接收完时执行
// 跟服务器通讯,确定链接正常
new Socket(Server.ip,对应端口号);
Thread.sleep(25000);//休眠25秒
}
}
}.start();
}