Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с сообщением клиента-серверу!!! [D5, Win95/98]


dimich ©   (2002-02-21 16:25:00) 

У меня по нажатию на кнопку должно передаваться две текстовые строки серверу из edit1 и edit2 в memo1. А на сервере при чтении выдается ошибка 10057 on API "recv".


dimich   (2002-02-22 08:22:00) [1]

Спасибо за совет...приму к сведению и доведу до ума socket.


Digitman   (2002-02-21 18:18:00) [2]

>dimich
Так ты с socket-транспортом разобрался что ли ? За БД взялся уже ? Ты транспорт отладь, чтобы работал как положено, а уж потом "наворачивай" всякие там "таблицы", "поля" и иже с ними)


SerVS - S   (2002-02-21 18:04:00) [3]

with Table1 do begin
edit;
FieldByName("FIO").AsString := "";
FieldByName("Sost").AsString := "";
post;
end;


dimich   (2002-02-21 17:57:00) [4]

У меня сейчас
-------------------------
FIO | Sost |
-------------------------
Макаров | |
-------------------------
Незачет | |
-------------------------
А мне надо в одну строку Макаров Незачет. Отображаются данные через DBgrid.


SerVS - S   (2002-02-21 17:49:00) [5]

1.Серсер надо открыть чтобы он начал прослушивание порта, иначе клиент его просто ненайдет. Если ты говоришь что у тебя ЭТО както работает, быстрей всего в проге еще гдето есть вызов Open.
2. Я непонял второй вопрос. Что именно ты хочешь сделать "на одной строке все было, а не в две как сейчас"?
3.На будущее: К полям нужно обращяться по имени, а не по номеру.
После едит нужно делать пост.


dimich   (2002-02-21 17:39:00) [6]

И зачем надо ServerSocket.open раньше делать?
У меня тут по ходу вопросик, а как можно сделать чтобы в БД на одной строке все было, а не в две как сейчас.
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
serversocket1.open;
table1.Open;
table1.edit;
table1.Fields[0].asstring:=Socket.ReceiveText;
table1.Fields[1].asstring:=socket.ReceiveText;
end;


SerVS - S   (2002-02-21 17:30:00) [7]

ServerSocket.Open надо раньше делать!!! Гденибудь в другом месте!


dimich   (2002-02-21 17:23:00) [8]

Кажется заработала окаянная:)))
Теперь вот надо решить вопрос , а что если сервер отрубился и потом заново подрубился...Как клиенту быть?


dimich   (2002-02-21 17:20:00) [9]

проверьте меня...
Я отсылаю клиентом текст через

form1.clientsocket1.Open;
form1.ClientSocket1.Socket.SendText(edit1.text);

и получаю сервером

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
serversocket1.open;
memo1.lines.add(Socket.ReceiveText);
end;


Wonder   (2002-02-21 17:15:00) [10]

Тогда текст посыла и приема давай...


dimich   (2002-02-21 17:13:00) [11]

Согласен...я смотрел, делаю как там написано, но вот где-то я ошибся теперь ищю...


SerVS - S   (2002-02-21 17:08:00) [12]

Посмотри в Delphi6\Demos\Internet, там есть пример чата на базе сокетов. И еще куча полезных примеров :))


dimich   (2002-02-21 17:06:00) [13]

На сервере имеется БД с двумя полями "ФИО" и "Состояние"(там либо зачет либо незачет).
А клиент должен послать ФИО и состояние , а на сервере в БД вбивается эти два сообщения и все.


Wonder   (2002-02-21 17:04:00) [14]

http://delphi.mastak.ru/articles/sockadv/index.html


Digitman   (2002-02-21 17:02:00) [15]

что есть у тебя "клиент" и что - "сервер" ?


dimich   (2002-02-21 16:55:00) [16]

Можно пример простейшего приложения когда клиент посылает серверу сообщение...у меня вроде долно все работать , но никак не могу понять в чем проблема. Заранее благодарен!!!


dimich   (2002-02-21 16:39:00) [17]

Вот тото и оно что связь....ай блин яж её сам уничтожаю при закрытии формы...спасибо...на мысль натолкнул


Digitman   (2002-02-21 16:39:00) [18]

и - кнопка-то здесь причем ?))


Wonder   (2002-02-21 16:37:00) [19]

WSAENOTCONN (10057) Socket is not connected
A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket) no address was supplied.

An application attempted an input/output network function call before establishing an association with a remote socket (i.e. before calling connect() or accept()).

А связь-то у тебя установлена?


Наверх

Титульная страница Поиск, карта сайта Написать письмо