![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с сообщением клиента-серверу!!! [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()).
А связь-то у тебя установлена?