Исходя из предложения, приведенного в предыдущем вопросе, который я задал здесь, я пытаюсь подключить сокетное соединение для приложения, которое я записал в службу. Вчера я провел большую часть дня, исследуя сервисы, и фактически смоделировал несколько (один удаленный, один локальный).
Мой вопрос состоит из двух частей:
1) после того, как я поиграл с местной службой и удаленное обслуживание, я до сих пор не уверен, какой из них будет лучше для моей ситуации. Во многом это связано с тем, что, я думаю, я все еще не совсем понимаю, какие преимущества даст мне другой процесс. Я создаю новый поток для подключения к сокету, независимо от того, что, поэтому я не буду иметь никакого конфликта потока с пользовательским интерфейсом. Итак, что мне позволяет сделать сервис в другом процессе? Буду ли я потенциально видеть лучшую производительность таким образом? Мое ограниченное понимание состоит в том, что, помещая это в другой процесс, служба будет работать независимо от того, какую активность я выполняю в своем приложении. У меня есть несколько различных действий, но только для одного из них требуется подключение к сокету, которое я буду восстанавливать каждый раз, когда все равно будет открыто действие. Так будет ли местный сервис подходить для меня?
2) Я собираюсь иметь мой слушатель сокета (DataInputStream (). ReadLine () внутри цикла while) внутри моего сервиса для любых новых данных, которые передается с сервера. После вчерашней игры я не мог понять, как передать данные, которые он читает, реальному «клиенту» (либо связанному клиенту удаленным сервисом, либо самому локальному клиенту) в «реальном времени».
Был бы очень признателен некоторые предложения для части 1 и некоторая помощь с частью 2 (примеры кода?:))
TIA
Редактировать:
Есть ли обходные пути для этого поведения?
Пример кода ниже показывает, как дочерний элемент обрезается контейнером - видны только его правая и нижняя границы.
<style type="text/css">
#container {
position:absolute;
left:100px;
top:100px;
width:100px;
height:100px;
border:1px solid black;
filter:alpha(opacity=50);
overflow:visible;
}
#child {
position:relative;
left:-10px;
top:-10px;
width:20px;
height:20px;
border:1px solid red;
}
</style>
<div id="container">
<div id="child"></div>
</div>
Кажется, обходной путь просто: используйте -ms-filter вместо filter:
-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(opacity=50)';