Двач, помоги. Гугл не помог, вся надежда на тебя.Лаба клиент-сервер на с++Писал не сам, вроде все работало, но в один прекрасный момент - запускаю сервер, ввожу количество клиентов и на этом все заканчивается, а должны консольки с клиентами вылезти. Что могло сломаться с нихера?
Какой же я мудак
бамп
>>154758487 (OP)Окружение изменилось.А это значит хуево написано.Мимо программист со стажем
>>154758541А что делать?Сейчас пишу не на том ноуте, на котором сдавать.Вижуалка 10.
Невозможно найти или открыть файл PDB
Картиночки успокаивают
>>154758550Искать что изменилось.Научится пользоваться гуглом.First change the following parameters:Tools -> Options -> Debugging -> Symbols -> Server -> YesThen press Ctrl+F5 and you will see amazing things.https://stackoverflow.com/questions/4813975/why-is-visual-studio-2010-not-able-to-find-open-pdb-files
>>154758714Спасибо, анон. Но теперь Символы загружены (информация об исходном коде опущена)., буду сидеть, думать дальше
>>154758977Думать не надо - смотри дальше ошибки.
>>154759043> Думать не надо - смотри дальше ошибки.Ну и дебаг никто не отменял.
"admin1.exe": Загружено: "C:\Windows\SysWOW64\WSHTCPIP.DLL", Символы загружены (информация об исходном коде опущена)."admin1.exe": Выгружено: "C:\Windows\SysWOW64\WSHTCPIP.DLL"Программа "[2800] admin1.exe: Машинный код" завершилась с кодом -1 (0xffffffff).Если вкратце, то вот так, гуглю эту херню сижу.
>>154759113Ты я смотрю совсем не шаришь?
>>154759345Да. Так вышло. А теперь сокеты, клиенты, серверы..
>>154759381Проблема или с кодом (будут ошибки при построении) или с внешними библиотеками. Например их нет по ожидаемому пути, в проект не добавлена ссылка на dll и т.п.Вариантов тьма, дистанционно не угадаешь. Или у тебя в проекте стоит х64, а ты под х86 запускаешь. Или ещё дохуя чего.Ищи. Удачи.
>>154759522Спасибо.Дебаг вывел в консольку сервера помимо нужного error bind 10048, а до этого не замечал, когда закрывалось сразу. Наверное утром допилю.
>>154759522Что-то с ебучими сокетами, которые я не знаю нихуя, заебало, хочу зарыться в плед и не вылезать оттуда, пока все само не решится
if (bind(mysocket, (sockaddr *)&local_addr, sizeof(local_addr)))короче он заходит сюда и выдает ошибку, которая в этом ифеЗавтра буду разбираться
>>154759714Дескриптор проверь. mysocket
>>154759714Ну я ж говорю что библиотека не биндится...
>>154759739>>154759755Мне очень стыдно, но я не совсем понимаю, о чем вы..Погуглю, что такое дескриптор.
>>154759784mysocket проверь.
>>154759795каким образом?
>>154759802Значение его посмотри, перед вызовов bind
>>154759812128, насколько я понимаю
>>154759844Ну главное, что не != 0. Сложно удалённо помочь, сори.
>>154759889Да я понимаю. А общага спит. Надеюсь успешный одногруппник заглянет утром.
>>154759898Функция bind должна 0 возвращать, так-как не 0 значение true, то входит в тело условия. int bind_r = bind(mysocket, (sockaddr *)&local_addr, sizeof(local_addr));Попробуй так, посмотри, что вернёт bind в bind_r
>>154759949И еще. Подключи cstdio, в тело условия добавь: perror("bind return: ");Это выведет последнюю ошибку.
>>154759898Все таки надо Гугл подтянутьhttps://social.msdn.microsoft.com/Forums/en-US/77af3fe1-b322-4bf3-9aad-ce4da62d7457/error-10048-in-bind?forum=netfxnetcomПроверяй что сокет свободен перед открытием. Может у тебя уже висит там соединение?
так
>>154760026И да, банально может старый сокет не закрыт быть.
>>154759949Ну вы же понимаете, что я хуево соображаю.bind_r вроде как -1>>154760011Как это сделать? Куда добавить?Так. Навальный у Собчак отвлекает своей болтовней еще.
>>154760139Что возвращает нас к моему первому ответу - хуево написано.
>>154760193Вроде как или -1 ? Если -1, то bind не отработал нормально. #include <cstdio>if(bind(mysocket, (sockaddr *)&local_addr, sizeof(local_addr)))perror("bind return: ");
>>154760241Но там вроде я вообще сокет не трогала до этогоТолько создал же, хз. Надо было учиться в семестре.Ладно, спасибо двач, надо уснуть, пока солнце не ебашит в глаза.Спасибо.
>>154760193Так ты ещё из этих хомячков? Ты голову загружай проблемой своей, а не чужим пиздежом. Я тебе ссылку привел - читай ее.
>>154760250>if(bind(mysocket, (sockaddr )&local_addr, sizeof(local_addr)))>perror("bind return: "); if (bind(mysocket, (sockaddr )&local_addr, sizeof(local_addr))) { int bind_r = bind(mysocket, (sockaddr *)&local_addr, sizeof(local_addr)); // Ошибка printf("Error bind %d\n", WSAGetLastError()); closesocket(mysocket); // закрываем сокет! WSACleanup(); return -1; }у меня щас это вот так выглядит (так и было)
>>154758487 (OP)Мы тебе телепаты что ли? Давай проект сюда на ргхост архивом.
>>154760298блять как же кривоизвините
>>154760298Епт, ну так вывод какой у tprintf("Error bind %d\n", WSAGetLastError()); ?
>>154760331Удали это int bind_r = bind(mysocket, (sockaddr *)&local_addr, sizeof(local_addr));И дай код ошибки, tprintf("Error bind %d\n", WSAGetLastError());
ОП, в настройках проекта залинкована библиотека ws2_32.lib?winsock.h включаешь перед windows.h?
>>154760331error bind 10048
>>154760400> 10048Address already in use.Typically, only one usage of each socket address (protocol/IP address/port) is permitted. This error occurs if an application attempts to bind a socket to an IP address/port that has already been used for an existing socket, or a socket that was not closed properly, or one that is still in the process of closing. For server applications that need to bind multiple sockets to the same port number, consider using setsockopt (SO_REUSEADDR). Client applications usually need not call bind at all—connect chooses an unused port automatically. When bind is called with a wildcard address (involving ADDR_ANY), a WSAEADDRINUSE error could be delayed until the specific address is committed. This could happen with a call to another function later, including connect, listen, WSAConnect, or WSAJoinLeaf.
>>154760396*winsock2.h конечно же
>>154760396Да.И изначально всё работало, потом вернулся к ноуту и пизда.
>>154760413Тоже находил что-то такое, но чет не понимаю, где там эта ошибка.
>>154760445Порт занят, меняй порт, или дай возможность его установить при запуске. Как хочешь.
Вот короче файл с ебучим сервером, если что.Код кривовато выглядит, но сейчас похуй.http://rgho.st/6Vkl9Tr55