![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с TSocket (WinSock)
Хинт © (2006-02-18 08:39:00)Если соединяюсь с mail.ru, то всё работает нормально. А если указать IP нужного мне сервера, то получается "Access Violation"
Вот код программы:
http://msfu.net.ru/client.rar(6 kb)
Второй сервер - не мой (может быть он работает и не правильно). Но как избежать закрытия приложения? Возможно ли отловить ошибку и адекватно её обработать?
Verg (2006-02-18 18:57:00) [1]Да вообще вся
function RecStr: string;
сделана безграмотно
Мало того, что
> Джо © (18.02.06 15:47) [5]
так еще иs := Buff;
Тут про winsockapi пока рано говорить. Ты сначал с конструкциями Delphi-Pascal разберись. Что такое string, что такое pchar и как производится преобразование одного в другое.
А потом прикинь - какое во всем этом принимает участие количество считанных из сокета байтов ( в твоем случае переменная ret... ) и при чем сдесь название этой функции (Rec Str)
Джо (2006-02-18 15:47:00) [2]Более подробно посмотреть сейчас нет времени, но вот эта строка
> FillChar(Buff[1], size, 0);
вызывает определенные подозрения.
Кроме того, полезно было бы узнать имя сервера, с которым получаешь ошибку.
Джо (2006-02-18 15:42:00) [3]> [3] Anatoly Podgoretsky © (18.02.06 09:48)
> так и еще и в платном, малораспространеном формате. Ты купишь
> мне лицензию на WinRar?
unrar.exe полностью бесплатен.
> Хинт ©
Посмотрю.
Anatoly Podgoretsky (2006-02-18 09:48:00) [4]У тебя ошибка в программе, а вот смотреть твою программу не стоит, мало того, что в ней надо рыться вместо тебя, так и еще и в платном, малораспространеном формате. Ты купишь мне лицензию на WinRar?
Хинт (2006-02-18 09:08:00) [5]Перепробывал многие стандартные компоненты (TCPClient, idTCPClient, idUDPClient). Везде возникают ошибки при чтении. В чем проблема может быть? Telnet замечательно работает. Как бы достичь такого же эффекта?
Хинт (2006-02-18 08:46:00) [6]К тому же сервер работает (Telnet нормально соединяется и принимает информацию)