问题在代码注释中
if (!initializeWinsockIfNecessary()) {
    socketErr(env, "Failed to initialize 'winsock': ");
    return -1;
  }
  
  int newSocket = socket(AF_INET, SOCK_STREAM, 0);
  if (newSocket < 0) {
    socketErr(env, "unable to create stream socket: ");
    return newSocket;
  }
const int reuseFlag = 1;
  if (setsockopt(newSocket, SOL_SOCKET, SO_REUSEADDR,
 (const char*)&reuseFlag, sizeof reuseFlag) < 0) {
    socketErr(env, "setsockopt(SO_REUSEADDR) error: ");
    _close(newSocket);
    return -1;
  }
struct sockaddr_in name;
    name.sin_family = AF_INET;
    name.sin_port = 0;//等于0是什么意思?
    name.sin_addr.s_addr = 0;//等于0是什么意思?
    if (bind(newSocket, (struct sockaddr*)&name, sizeof name) != 0) {
      char tmpBuffer[100];
      sprintf(tmpBuffer, "bind() error (port number: %d): ",
      ntohs(port.num()));
      socketErr(env, tmpBuffer);
      _close(newSocket);
      return -1;
    }