public void sendData(InetAddress address){
try{
output = new ObjectOutputStream(socket.getOutputStream());
output.writeObject(TST);
output.close();
}
catch(IOException ee){
System.out.println("Error : " + ee);
}
}
服务器是一个多线程。 我的代码中有一部分使用ObjectOutputStream发送对象'TST',如何控制方法将对象发送给具有地址i输入到此方法的特定客户端?
答案 0 :(得分:0)
创建面向连接的TCP套接字的另一个实例并使用它连接到客户端。
您可以在客户端程序或服务器程序中使用ServerSocket,具体取决于您的方便程度,但是您已经通过方法参数指定了InetAddress, 我猜“socket”是Socket或ServerSocket的静态实例,如果它是Socket的一个实例,则将其初始化为
socket=new Socket(address,port);
try{
output = new ObjectOutputStream(socket.getOutputStream());
output.writeObject(TST);
output.close();
}
catch(IOException ee){
System.out.println("Error : " + ee);
}
在进入try块之前或在创建Object Output Stream之前输入try块之前。
在这种情况下,在您的客户端代码中创建一个ServerSocket
ServerSocket soc=new ServerSocket(port);
Socket cli=soc.accept();
这将有助于完成任务。