Доработка ПО клиент(JavaME)/серверной(Делфи) связи
При разработке клиент-серверного приложения у нас возникла следующая проблема.
Коротко опишу задачу.
Есть TCP-сервера и ТСР-клиента.
Серверная часть реализована на Delphi. В ней используется компонент TTCPServer:
…
TVpNetHstServerCore = class
private
…
FTCPServer : TTCPServer; // TCP-сервер
…
end;
…
Клиентская часть реализована на Java (J2ME). В ней для связи используется SocketConnection:
public class SocketThread extends Thread implements ActiveCommThread {
...
public SocketConnection conn;
…
}
В процессе установки связи и обмена данными последовательно выполняются следующие действия:
- клиентское приложение открывает TCP-соединение с серверным приложением;
- серверное приложение принимает соединение, создает поток обработки этого соединения;
- после установки соединения начинается процесс обмена данными.
Обмен данными имеет форму запрос-ответ, причем запросы посылает серверное приложение, а отвечает соответственно клиентское приложение.
Проблема состоит в том, что при отправке приложением-сервером TCP-пакета с запросом, в этом TCP-пакете почему-то устанавливается флаг PSH, которого вроде быть не должно.
После приема этого TCP-пакета приложение-клиент, вместо ответа, послает в пакет с флагор RST. После этого соединение закрывается.
Помогите, пожалуйста, решить эту проблему.
Буду благодарен за любую помощь.