他, 我正在构建一个客户端 - 服务器项目,服务器可以同时连接到多个客户端,在我的项目中我使用(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
答案 0 :(得分:0)
我能够通过将文件转换为字节数组并将其作为Object发送到服务器来解决它。