基于Socket的服务器,控制数据发送到特定客户端

时间:2013-05-11 15:44:47

标签: java sockets

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输入到此方法的特定客户端?

1 个答案:

答案 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();

这将有助于完成任务。