Обмен данными через сокеты - статья

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Обмен данными через сокеты - статья

Сообщение stikriz » 22.11.2011 23:25:30

Вот, написал небольшую статью, пример клиента и сервера, а так же, компоненты точно как в Delphi.
Здесь статья и исходники:
http://narod.ru/disk/32181027001/Socket.7z.html
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Обмен данными через сокеты - статья

Сообщение VirtUX » 23.11.2011 15:03:17

Сразу вопрос: чем заменить под Linux модуль WinSock2 в исходнике пакета с компонентами?
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Обмен данными через сокеты - статья

Сообщение stikriz » 23.11.2011 17:11:39

У меня linux не стоит, но судя по всему, нужно найти куда идут вызовы из функций с префиксом fp - это должны быть кросплатформенные функции.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Обмен данными через сокеты - статья

Сообщение Ism » 25.11.2011 02:05:22

Linux Opensuse Lazarus 0.9.30.2 при установке UnComponents
(B/Socket/Library/UnTCPServer.pas(1,1) Fatal: Can't find unit WinSock2 used by UnTCPServer


Вам надо разграничить код для разных платформ с помощью ifdef

В линукс не доступны виндовые модули.
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Обмен данными через сокеты - статья

Сообщение VirtUX » 25.11.2011 13:27:37

Дело в том, что там используются имена классов, описанные в этом WinSock2, которых нет в других модулях. Они специфичны для Windows. Т.е. кроссплатформенность не обеспечена. :(
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Обмен данными через сокеты - статья

Сообщение stikriz » 25.11.2011 14:16:09

VirtUX писал(а):там используются имена классов, описанные в этом WinSock2

Нет никаких классов в WinSock2! Модуль Sockets должен быть кросплатформеным. Там нет нескольких функций, которые, однако, нужны, начинающиеся с WSA, например. У кого есть Linux, рекомендую поискать, например где лежит fpGetSockOpt, и откуда она дальше вызывает
Код: Выделить всё
function GetSockOpt(S,Level,OptName,OptVal,OptLen^)
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 3

Рейтинг@Mail.ru