package server;/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.net.Socket;/**
 *
 * @author HJ
 */
public class ServerThread extends Thread {
 private Socket socket; public ServerThread(Socket socket)
 {
  this.socket = socket;
 }
 public void run(){  try {   DataInputStream inputStream = null;
   try {
    inputStream = new DataInputStream(new BufferedInputStream(
      socket.getInputStream()));
   } catch (Exception e) {
    System.out.print("接收消息缓存错误\n");
    return;
   }
   try {
    String savePath = "E:\\" ;
    int bufferSize = 8192;
    byte[] buf = new byte[bufferSize];
    long len = 0;
    savePath += inputStream.readUTF();
    DataOutputStream fileOut = new DataOutputStream(
      new BufferedOutputStream(new BufferedOutputStream(
        new FileOutputStream(savePath))));
    len = inputStream.readLong();
    System.out.println("文件的长度为:" + len + "\n");
    System.out.println("开始接收文件!" + "\n");
    while (true) {
     int read = 0;
     if (inputStream != null) {
      read = inputStream.read(buf);
     }
     if (read == -1) {
      break;
     }
     //System.out.println(buf.toString());
     fileOut.write(buf, 0, read);
    }
    System.out.println("接收完成,文件存为" + savePath + "\n");
    fileOut.flush();
    fileOut.close();
    inputStream.close();
   } catch (Exception e) {
    System.out.println("接收消息错误" + "\n");
    return;
   }
  } catch (Exception e) {
   e.printStackTrace();
  } }}package server;import java.io.IOException;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;public class SocketServer {
protected int listenPort = 3000;
private ServerSocket ss;
private Socket socket ;
public static void main(String[] args) {
SocketServer server = new SocketServer();
server.acceptConnections();
} /**
 * 建立链接
 * 
 */
public void acceptConnections() {
try {
ss = new ServerSocket(listenPort);
while (true) {
socket = ss.accept();
// handleConnection(socket);
new ServerThread(socket).start();
}
} catch (BindException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} }
}这是java端服务器。C++ 客户端做了很久都不行啊,高手给下源代码我研究下。或给点提示