如何使用(OCSF)将文件从客户端发送到服务器

时间:2017-06-02 15:53:35

标签: java client-server

他, 我正在构建一个客户端 - 服务器项目,服务器可以同时连接到多个客户端,在我的项目中我使用(OCSF)框架,并且我使用handleMessageFromClient方法来处理来自客户端,并使用sendMessageToServer向服务器发送消息。 如何将文件从客户端发送到服务器并将文件保存在服务器中。

这是服务器端的代码:

public void handleMessageFromClient(Object msg, ConnectionToClient client){

    if(msg instanceof File){
        File file = (File)msg;

    }else if(msg instanceof HashMap<?, ?>){
        @SuppressWarnings("unchecked")
        HashMap<String, String> clientMsg = (HashMap<String, String>) msg;

        // shows the received msg to the event log
        logController.showMsg("Message received: " + clientMsg.get("msgType") + " from " + client);


        //check the msg type
        if(clientMsg.get("msgType").equals("Login")){
            login(clientMsg,client);
        }else if(clientMsg.get("msgType").equals("select")){
            selectQuery(clientMsg, client);
        }else if(clientMsg.get("msgType").equals("update")){
            updateQuery(clientMsg, client);
        }else if(clientMsg.get("msgType").equals("delete")){
            updateQuery(clientMsg, client);
        }else if(clientMsg.get("msgType").equals("insert")){
            updateQuery(clientMsg, client);
        }
    }
}

客户

final public void sendToServer(Object msg) throws IOException{
if (clientSocket == null || output == null)
      throw new SocketException("socket does not exist");

output.writeObject(msg);
output.reset();}

如何修改代码以发送和重新传输文件?

我在github上有服务器和客户端代码: client code sever code

1 个答案:

答案 0 :(得分:0)

我能够通过将文件转换为字节数组并将其作为Object发送到服务器来解决它。