Merhaba,
Aklımda bir proje var programı açtığımda arka planda çalışmaya başlayacak ve programı web site üzerinden kontrol edeceğim örneğin 2 adet timer var ve bunları siteden ayarladığım tuşlar ile kontrol edebileceğim.
Örneğin timer1 için bir tuş listesi olacak [Numlock1, numlock2 vesaire] ve siteden bunları ayarlayıp kaydet'e bastığımda hem programa yansıtacak hemde config dosyasına kaydedecek. Programa yansıttıktan sonra programın içinden config dosyasına da kaydedilebilir. Kaydettiğim tuşa bastığımda timer çalışacak falan. (Programımda bu zaten mevcut tek gereken bunu siteden ayarlamak olacak sitedeki veriyi koda yazdırmanız yeterli olur ben gerisini halledebilirim)
Veya bir int değeri olacak örneğin sitedeki textbox gibi bir şeye 10 yazıp kaydet butonuna bastığımda tanımlı olan int değeri değişecek. Bunu yapabilecek varsa dm'e ücret ile beraber yazarsa sevinirim.
(Source bana ait yaklaşık 20-30 tanım için ayarlama yapılacak aç kapa tuşu - çalıştırma tuşu - int değerleri vesaire)
Böyle anlatınca çok karışık olmuş istediğim tek şey localhosttan siteye girince get ve post kullanıp girilen veriyi programa aktarmak.
Örneğin siteye textbox tarzı bir şey oluşturup MERHABA! yazıp kaydet butonuna bastığımda programdaki string test = "XXX"; değeri MERHABA! olarak değişecek.
C# - Site aracılığıyla programı kontrol etme.
9
●248
- 09-04-2023, 07:37:28Merhabalar,
Eğer asenkron çalışacak ise,
Sitede json formatında butonların durumlarını tutun.
C# uygulamanızdan da belirli aralıklarla bu json dosyasını okuyabilirsin. - 09-04-2023, 07:38:55"Örneğin siteye textbox tarzı bir şey oluşturup MERHABA! yazıp kaydet butonuna bastığımda programdaki string test = "XXX"; değeri MERHABA! olarak değişecek." tam olarak bunun gibi bir şeyden bahsediyorum hocam yapılabilir olduğunu biliyorum çünkü görmüştüm fakat yapabilecek biri var mı onu bilmiyorum birde tasarım gerekiyor fakat tasarım konudaki en basit şey.erkanakgun adlı üyeden alıntı: mesajı görüntüle
- 09-04-2023, 07:59:32Merhaba, bunu yapabilmeniz için basit bir yol göstereceğim. Daha sonrasında mantığını anladıktan sonra kendinize göre geliştirebileceğinizden eminim.
Web siteniz tarafında basit bir php kodu hazırlayarak bir txt'ye veya bir html dosyasının içerisine programınızda göstermek istediğiniz mesajı yazdırdığınızı varsayıyorum.
using System.Net; using System.IO;
Programınıza başvuru yönergelerini ekledikten sonra şu kod ile web sitenizdeki bir içeriği çekebilirsiniz.
WebRequest request = WebRequest.Create("https://example.com"); WebResponse response = request.GetResponse(); using (Stream dataStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(dataStream); string response= reader.ReadToEnd(); MessageBox.Show(response); } response.Close();example.com kısmına programınız tarafından çekmek istediğiniz yazının linkini yazarak veriyi çekme işlemini gerçekleştirebilirsiniz.
Daha sonrasında geri kalan işlemlerinizi bu örnekle geliştirebilirsiniz. - 09-04-2023, 08:01:31Örnek için teşekkürler fakat ucu çok açık olmuş örneğin string button = "LeftButton" string button2 = "RightButton" gibi 2 farklı tanım var bunları çektirmek için ne yapmalıyım?LIVAPROXY adlı üyeden alıntı: mesajı görüntüle
- 09-04-2023, 08:35:39Sorularınız çok karışık olmuş ancak anladığım kadarıyla web sitenizden programınıza veri, mesaj göndermek istiyorsunuz.
Web siteniz üzerinden bir form elemanı oluşturun, sonrasında butona tıkladığınızda form içerisindeki textbox verisini POST isteği ile gönderin.
PHP tarafında bu gelen POST isteğini işleyin.
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $text = $_POST['text']; $response = array('text' => $text); $json_response = json_encode($response); header('Content-Type: application/json'); echo $json_response;Burası sunucu tarafında veri işleme kısmıydı.
C# ile geliştirdiğiniz program istemci oluyor.
Sunucudan istemciye aktarmanız için, sunucu tarafında API oluşturun.
C# nuget paketlerinden Newtonsoft.Json kurulumunu yapıp başvurulara
using System.Text.Json; ekleyin.
Daha sonrasında c# ile sunucunuzdaki API ile iletişim kurmaya başlayabilirsiniz.
string url = "http://x.com/api.php"; string postData = "text=" + textBoxValue; string jsonResponse; using (WebClient client = new WebClient()) { client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; jsonResponse = client.UploadString(url, postData); } JsonDocument jsonDoc = JsonDocument.Parse(jsonResponse); string responseText = jsonDoc.RootElement.GetProperty("text").GetString();Bu kod sunucunuzda işlenen text verisini POST isteği göndererek json formatında alır parçalar ve text anahtarındaki değeri alır. - 09-04-2023, 08:39:33Daha basit bir işlem istiyorsanız, c# ile bir timer çalıştırın. Timer sürekli web sitenizden ilk atmış olduğum kod ile veri çeksin.
Web sitenizdeki verileri kendinize göre numaralandırabilirsiniz.
Örneğin web sitenizdeki veri WriteText Merhaba ise, programınızın çektiği bu veri WriteText yazısını algılayıp Merhaba yazdırabilir.
Bu tarz basit bir şekilde modelleyebilirsiniz.
Daha detaylı ve kapsamlı çalışmak istiyorsanız web servisleri ile çalışmayı araştırmanız gerekiyor.
İyi çalışmalar dilerim
- 09-04-2023, 19:22:26Hocam kodlara kafam basmadı vallahiLIVAPROXY adlı üyeden alıntı: mesajı görüntüle