Клиент не соединяется. Часть кода сервера: Код (Text): if (::WSAStartup(MAKEWORD(2, 2), &wsData) == 0) { socketServerListen = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (socketServerListen != SOCKET_ERROR) { ulMode = 1; iResult = ::ioctlsocket(socketServerListen, FIONBIO, (unsigned long*)&ulMode); if (iResult != SOCKET_ERROR) { serviceAddr.sin_family = AF_INET; serviceAddr.sin_addr.s_addr = ::inet_addr("127.0.0.1"); serviceAddr.sin_port = ::htons(6148); iResult = ::bind(socketServerListen, (struct sockaddr *)&serviceAddr, sizeof(serviceAddr)); if (iResult != SOCKET_ERROR) { FD_ZERO(&ReadSet); FD_SET(socketServerListen, &ReadSet); if ((ReadySock = ::select(0, &ReadSet, NULL, NULL, NULL)) != SOCKET_ERROR) { if (FD_ISSET(socketServerListen, &ReadSet)) { int iSize = sizeof(clientAddr); clientListen = ::accept(socketServerListen, (struct sockaddr *)&clientAddr, &iSize); ........................... } } } } } Кусок клиента: Код (Text): int iErr = WSAStartup(MAKEWORD(2,2), &wsaData); if (iErr == 0) { ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); saServer.sin_family = AF_INET; saServer.sin_addr.s_addr = inet_addr("127.0.0.1"); saServer.sin_port = htons(6148); iErr = connect(ListenSocket, (sockaddr*)&saServer, sizeof(saServer)); if (iErr == 0) { ............................ } WSACleanup(); }
сразу после ::bind впихните Код (Text): listen(socketServerListen, SOMAXCONN); и будет вам счастье. и ioctlsocket уберите, не нужен он там
Значит не судьба. Или давайте полный код который не работает, или таки вставьте listen в тот кусок который вы привели - с listen там все ок
Это весь код. И он тут рабочий А у меня было Код (Text): socketServerListen = ::socket(AF_INET, SOCK_STREAM, 0); а в клиенте нормально стоит Код (Text): ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);