Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

Ответ
 
Опции темы
Старый 29.11.2006, 10:31   #1
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Библиотеки

Пробуйте.
(Offline)
 
Ответить с цитированием
Старый 29.11.2006, 11:35   #2
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Библиотеки

Возник вопрос такого плана:

1. При открытии сокета обмен данніми в асинхронном режиме?..

2. Немного не понял, как записывать данные в сокет для отправки... Через ИнпутСтрим?..
(Offline)
 
Ответить с цитированием
Старый 30.11.2006, 21:59   #3
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Библиотеки

1. есть ли что на приеме можно запросить, а отправка в любой момент.
2. пишет побайтно. если надо строку, могу сделать
(Offline)
 
Ответить с цитированием
Старый 08.12.2006, 00:18   #4
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Библиотеки

program Menu;
uses socket;
var
s: string;
b : integer;
begin
if socket.open('socket://mrim.mail.ru:2042')<>0 then
Debug('Error');
while socket.available=0 do begin
delay(100);
end;
b := 33;
while (socket.available<>0) or (b>32) do begin
b := socket.read;
s := s + chr(b);
end;
DrawText(s, 0, 0);
repaint;
delay(5000);
end.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MIRMendax (25.01.2009)
Старый 25.12.2006, 03:28   #5
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Библиотеки

pilgrim, уважаемый, а библиотека работает по протоколу UDP или TCP/IP ?

Бибилиотека использует протокол tcp. (Piligrim)
(Offline)
 
Ответить с цитированием
Старый 25.12.2006, 16:03   #6
aleshka
AnyKey`щик
 
Регистрация: 11.12.2006
Сообщений: 17
Написано 2 полезных сообщений
(для 3 пользователей)
Re: Библиотеки

Сообщение от pilgrim
program Menu;
uses socket;
Кстати такой вопрос. В эмуляторе все работает замечательно, все принимается и отправляется без проблем. Но тот же апплет в телефоне работать отказывается. Стартует, но при подключении, вот здесь
socket.open('socket://...') выдает код ошибки -1. При этом сам телефон даже не выдает запрос на разрешение доступа к сети передачи данных. Что это может быть? Телефон настроен как надо, и все остальные Интернет-приложения работают
(Offline)
 
Ответить с цитированием
Старый 21.06.2007, 13:29   #7
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Lib_socket

А можно таки реализовать поддержку отправки строки в вышеуказанной библиотеке?..
(Offline)
 
Ответить с цитированием
Старый 25.07.2007, 09:57   #8
aleshka
AnyKey`щик
 
Регистрация: 11.12.2006
Сообщений: 17
Написано 2 полезных сообщений
(для 3 пользователей)
Re: Lib_socket

C отправкой строк и количеством принятой/отправленой инфы.
(Offline)
 
Ответить с цитированием
Старый 25.07.2007, 15:04   #9
Kurdt
ПроЭктировщик
 
Регистрация: 28.03.2007
Сообщений: 194
Написано 7 полезных сообщений
(для 25 пользователей)
Re: Lib_socket

чтото не хочет отправлять почту через сокет смтп, можете глянуть что не так.. ?
(Offline)
 
Ответить с цитированием
Старый 26.07.2007, 10:30   #10
aleshka
AnyKey`щик
 
Регистрация: 11.12.2006
Сообщений: 17
Написано 2 полезных сообщений
(для 3 пользователей)
Re: Lib_socket

ну еще бы хотел ))))))
во первых: где символ перевода каретки? и что за \r\n? меняем везде
SendState:= Socket.WriteStr('HELO there\r\n');
на
SendState:= Socket.WriteStr('helo there' + chr(10));

во вторых: где чтение и анализ ответа сервера или хотя бы простые задержки между командами? добавляем где надо
Delay(2000);
while Socket.Available > 0 do RecvString:= RecvString + Chr(Socket.Read);

ну и в третьих и четвертых: на сервере может быть авторизация. и у тебя на внешнем шлюзе может быть закрыт 25 порт во избежание.
вобщем лови пример, код конечно ужасный, но у меня в локалке с локальным почтовиком все работает.
(Offline)
 
Ответить с цитированием
Старый 09.08.2007, 22:51   #11
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Lib_socket

А можно с помощъю этой либы подключаться к серверу по IP-адресу не в локальной сети, а в интернет?
(Offline)
 
Ответить с цитированием
Старый 10.08.2007, 11:55   #12
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Lib_socket

Конечно можно. Не совсем понимаю о чем идет речь. чем IP адрес локальной сети отличается от интернет?
(Offline)
 
Ответить с цитированием
Старый 10.08.2007, 14:21   #13
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Lib_socket

Я просто не правильно выразился.
Суть состоит в том, чтобы подключиться к удаленной машине на определенный порт. На компе запущена программа, которая прослушивает этот порт(сокет в асинхронном режиме).
Мидлет должен подключиться к компу, передать ему данные и закрыть соединение.

program Therminal; 
uses socket;
var
s: string;
b:integer;
begin

if socket.open('socket://10.100.2.202:1030')<>0 then
Debug('Error');
//зависает здесь, даже если убрать цикл
while socket.available=0 do begin
delay(100);
end;

delay(1000);

b:=socket.write(80);
drawtext('sent',10,15);
socket.close;
drawtext('closed',0,30);
delay(10000);
end.
На эмуляторе все работает, а на мобиле(Moto c650) заклинивает.

Хотя судя по логу MIDWay ошибок нет:
AMS: VM_APPLICATION_STATE_CHANGED, 0
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
AMS: VM_APPLICATION_STATE_CHANGED, 10
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
AMS: VM_APPLICATION_STATE_CHANGED, 20
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
KJAVA Key Event: 22; 0
[Socket] open0()
[ProxyMan] NET_ParseResource no protocol specified
[ProxyMan] NET_ParseResource host:10.100.2.202
[ProxyMan] NET_ParseResource port:1030
[Socket] NET_CreateTcpProxy(resource:0x3fdbbe0, nextProtocol:0)
KJAVA Key Event: 22; 1
[ProxyMan] NET_ProcessProxyMsg(suapiType:0x821b1, msgHandler:0)
[Socket] NET_TcpNetworkEvent(ind=532913, msg=1205679c, index=0)
[Socket] NET_TcpNetworkEvent proxy create success proxyId=1
[Socket] net_SetProxyAttributes(index:0, setLinkAttributes:1 )
[DnsIp] NET_GetStaticDnsIp DNS_IP:202.056.231.117
[Profile] NET_GetProfileInfo(profileIndex:0, profile:12067986)
[Socket] net_SetProxyAttributes - line=0 csd_number= apn=internet.mts.ru user=mts pwd=mts
[ProxyMan] NET_ProcessProxyMsg(suapiType:0x821b4, msgHandler:0)
[Socket] NET_TcpNetworkEvent(ind=532916, msg=12056964, index=0)
[Socket] NET_TcpNetworkEvent proxy set attribute success proxyId=1

//Зависает здесь
//Далее нажимаю "отбой"

VB: inside JkDeviceStopVibration()
->AMS_VM_ChangeDesiredState(): 272281780
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
VB: inside JkDeviceStopVibration()
VB: JkDeviceStopBacklightFlash()
AMS: VM_APPLICATION_STATE_CHANGED, 21
VB: VMproxyResetBacklight()
VB: JkDeviceStopBacklightFlash()
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
AMS: VM_APPLICATION_STATE_CHANGED, 1
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
->AMS_VM_ChangeDesiredState(): 272281780
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
AMS: VM_APPLICATION_STATE_CHANGED, 2
AMS: VM_APPLICATION_STATE_CHANGED, 23
VB: inside JkDeviceStopVibration()
AMS: VM_APPLICATION_STATE_CHANGED, 3
VB: JkDeviceStopBacklightFlash()
AMS: AMS_VM_START_RETURNED, 1
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=0
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
[Socket] NET_ResetTcpSockets()
[ProxyMan] NET_DeallocateEntry destroy proxy profile_index:0
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
[JkHttp] NET_HttpInteractionEvent(index:0, indication:5, data:0)
[JkHttp] NET_HttpInteractionEvent state:0
[JkHttp] NET_HttpInteractionEvent FREE_TABLE_EVENT
VB: JkDeviceStopBacklightFlash()
->AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
<-AMS_VM_SynchronizeStates(): desired state=272281572, stable=1
AMS: AMS_SUITE_DATA_SIZE, 5439
AMS: MSM_ST_WRREC
DATAFLOW: 1
AMS: AMS_HEAP_RELEASED_TR
(Offline)
 
Ответить с цитированием
Старый 10.08.2007, 17:38   #14
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Lib_socket

судя по логу, собственно соединение устанавливается, но ничего не прилетает. Может сервер буферирует отправку?
(Offline)
 
Ответить с цитированием
Старый 10.08.2007, 18:38   #15
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Lib_socket

Сообщение от pilgrim
судя по логу, собственно соединение устанавливается, но ничего не прилетает. Может сервер буферирует отправку?
Может, только как с этим бороться?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:32.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com