Re: Проблема с открытием UDP-сокетом
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 15.11.11 09:05
Оценка:
Здравствуйте, Artjom, Вы писали:

A>Возникает исключение на строчке mysocket = new Socket

A>Текст исключения:
A>
A>((System.Configuration.ConfigurationErrorsException)(ex))
A>InnerException = {"Unrecognized configuration section system.serviceModel. (C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\Config\\machine.config line 145)"}
A>

A>

Так там же красным по английскому напиасано, в чем проблема У вас чего-то не то в вашем конфиге. Скопируйте свой же код в пустое консольное приложение и запустите и будет все ок (я, например, так и сделал и никаких ошибок не возникло).

К коду есть МНОГО вопросов (если это не лаба, для лабы код походит, для других целей — нет).
1. Наименование ужасно. В .NET-е существуют устойчивые правила именования классов, полей, параметров и т.д.
Классы: PamelCase — в вашем случае: UdpServer (никаких префиксов, исключения — только имена интерфейсов, которые начинаются с I, например, IDisposable).

Поля: camelCase — в вашем случае поля должны быть: fifoNext, fifoSize и т.д., возможно использование лидирующего подчеркивания (т.е. _fifoNext)

Параметры: так же как и поля. Формат типа server_port — не принят.

2. Обработка исключений
В вашем коде блоки catch вообще пустые (как правильно уже заметили), что усложняет вашу отладку, да и каждому читателю для проверки туда хоть что-то придется вбить.

3. Дизайн. Судя по количеству кода, ваш класс TUDPServer нужно переименовать на UDPШвейцарскийНожServer, настолько много всего он делает. Такими темпами в нем понять вообще ничего нельзя будет очень и очень скоро.

4. Формат заданного вопроса.
Чтобы проверить работоспособность вашего кода нужно было сделать ряд дополнительных действий, таких как объявление класса, вынос полей, добавление вывода в консоль в блоках catch. Если вы хотите получить ответ, то разумнее потрать немного времени на формирование вопроса, на который удобно отвечать. Это сэкономит время отвечающему и, соответственно, увеличит вероятность ответа
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.