| Autor | Zpráva | ||
|---|---|---|---|
| Lodhart Profil * |
#1 · Zasláno: 16. 1. 2012, 07:40:42
Zdravím,
mám aplikaci napsanou v C++ a windows gadget a potřeboval bych najít způsob jak zareagovat na kliknutí v Gadgetu např. na tlačítko. Našel jsem způsob pomocí WCF ale to je C# a o tom nemam ani páru. Napadlo mě jěště posílat v Javascriptu zpravy na localhost a určitý port a v aplikaci to chytat, ale nevím jestli takhle Javascript umí používat sockety. Za jakékoli nápady děkuji. L. |
||
| Chamurappi Profil |
#2 · Zasláno: 16. 1. 2012, 09:25:06
Reaguji na Lodharta:
„nevím jestli takhle Javascript umí používat sockety“ Umí vysílat HTTP požadavky na libovolný port (takže zapomeň na nějaký vlastní komunikační protokol). Na webu je běžně omezena komunikace na doménu a tuším, že i na port, ale gadgety limit na doménu nemají, proto by jim neměl vadit ani netradiční port v localhostu. Zkus si nastavit IIS nebo Apache, aby poslouchali na jiném čísle portu, a pak XMLHttpRequestem v gadgetu načíst http://localhost:číslo/něco a uvidíš…
„najít způsob jak zareagovat na kliknutí v Gadgetu např. na tlačítko“ Ještě by asi šlo zaregistrovat si ve Windowsu vlastní protokol. Podobně, jako to dělá třeba Skype se svým callto:.
|
||
| Lodhart Profil * |
#3 · Zasláno: 17. 1. 2012, 09:45:36
Tak jsem si do aplikace přidal funkci, která zachytává zprávy na určitém portu. Takový malý server. Problém ovšem je, že pokud z IE pošlu pomocí XmlHTTPRequest nějakou zprávu, server po přijetí neukončí přijímání a stále vyčkává. Pokud zkusím poslat z IE jinou zprávu vyvolá to samozřejmě chybu. Nejsem si ale jistý, jestli mám sekvenci kódu v JS dobře.
// var http = new XMLHttpRequest();
http = new ActiveXObject("Microsoft.XMLHTTP");
var url = "http://localhost:8001/";
var params = "search=idxxx";
function param() {
//Send the proper header information along with the request
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);
http.close;
} |
||
|
Časová prodleva: 15 let
|
|||
0