Türkiye'ye uzaktan erişim nasıl yapılır? - sayfa 9

 
Sonra yapacak çok az şey kaldı. başla ve bitir :)
 

Yapacağımız şey bu :)

 
Beyler, kendinizi çıkmazdan uzaklaştırdığınıza sevindim. Sana şans diliyorum.
 
sergeev >> :

winsock.dll hakkında sadece bir konuşma var.

Bu, kendi yazdığınız lib'lerinizi kullanmanın istenmeyen olduğu anlamına gelir. ve sorunsuz vidalayın.

Zor değilse, bağlantıları veya kodları sınıfsız (sarmalayıcılar) paylaşın. tercihen temiz bir API.


Evet, genel olarak, mesele zor değil. Bir ws2_32.dll kitaplığınız var ve ondan işlevleri içe aktarıyorsunuz

int WSAStartup, WSACleanup, socket, bind, connect, dinle, kabul et, recv, send, closesocket.

Görünüşe göre bu hem istemci hem de sunucunun çalışması için yeterli olmalı (bir şeyi kaçırmış olabilirim, bkz. MSDN). Peki, o zaman ne yapılacağı zaten açık gibi görünüyor, aynı MSDN'den bir örnek alıp µl'ye çeviriyorsunuz. Yalnız bu pek iyi gitmeyecek, sırasıyla bloklama soketlerini kullanacaksınız, akış kalkacak ve sunucu üzerinde işleyemeyeceksiniz.
 
SofTAA >> :
Только не очень хорошо получится, ты будешь использовать блокирующие сокеты соответственно поток у тебя встанет и обработку ты не сможешь вести на сервере.

bu yerden daha ayrıntılı olarak. :)

1. Engelleme ne kadar sürer?

2 bu kilit neyi etkiler

2. engelleme olmadan alternatif.

genel olarak, soketlerle çalışma pratiği vardır (dağıtılmış hesaplama geliştirdim, ancak api yöntemleriyle değil, MFC sınıflarıyla)

sunucuyu (yani iş gönderici bilgisayarı) engellemede herhangi bir sorun yoktu ve bundan haberi bile yoktu.

hangi durumlarda ortaya çıkabilir?

 

Bunu ne kadar anladım senkron erişim meselesi.

 
sergeev >> :

bu yerden daha ayrıntılı olarak. :)

1. Engelleme ne kadar sürer?

2 bu kilit neyi etkiler

2. engelleme olmadan alternatif.

genel olarak, soketlerle çalışma pratiği vardır (dağıtılmış hesaplama geliştirdim, ancak api yöntemleriyle değil, MFC sınıflarıyla)

sunucuyu (yani iş gönderici bilgisayarı) engellemede herhangi bir sorun yoktu ve bundan haberi bile yoktu.

hangi durumlarda ortaya çıkabilir?


Doğrudan veya MFC üzerinden çalışmak fark etmez, hepsi aynı, kökler ws2_32.dll'ye gider. Engelleme soketleri kullanırsanız, sunucu sürekli olarak bağlantı noktasını dinler ve buna göre akış her zaman engellenir. Ne yazık ki, µl'de çoklu iş parçacığı gözlemlenmez ve beklenmez, bu nedenle bu sorun, kendi kendine yazılan bir lib dışında atlanamaz. Doğal olarak, müşteri ile ilgili herhangi bir sorun olmayacaktır. Dolayısıyla, yalnızca MT'den üçüncü taraf bir uygulamaya veri gönderirseniz, onu saf bir api kullanarak uygulamak oldukça mümkündür.
 
xrust >> :

Bunu ne kadar anladım senkron erişim meselesi.


Evet kesinlikle. Asenkron çalışma için, MCL'nin yetenekleri açıkça yeterli değildir.
 
SofTAA >> :


Engelleme soketleri kullanırsanız, sunucu sürekli olarak bağlantı noktasını dinler ve buna göre akış her zaman engellenir.

yani, soketin sonsuz bir dinleme döngüsüne girmesi nedeniyle MT veya EA iş parçacığının çalışması engellenecek mi?

dinlemekle mi ilgili

 

MT konusunda bu kadar katı olmayın, bazı çoklu kullanım hala mevcuttur - göstergeler terminal dizisinde çalışır ve Uzman Danışmanlar ve komut dosyaları kendi ayrı dizilerinde çalışır.
İşte ticaret emirlerinin kanalı - bir. böylece danışman terminali yavaşlatmaz veya standart bir 2,5 dakika sonra terminalden bir zaman aşımı alır...

Neden: