Jaki język do socket servera

0

Witam,
Zaczynam właśnie przygodę z socketami i zastanawiam się jakiego języka użyć do napisania serwera socket'owego.
Szczerze przyznam, ze najprzyjemniej pisze mi sie w VS w C# jednak dedyki na windowsie są dwa razy droższe od tych linuxowych co zniechęca mnie do tego rozwiązania. Chyba, że za .netem przemawia znacznie większa prostota tworzenia:)
Jeśli chodzi o linuxa to wyczytałem, że używa się c++, javy, pythona i php.
Który z tych języków najlepiej nadaje się do serwera socket'owego? Dodam, że zależy mi na wydajności i prostocie tworzenia:)

0

Czemu chcesz bawić się socketami bezpośrednio?

Jeśli chciałbyś np pisać aplikację z użyciem wielu języków to możesz użyć Apache Thrift (i wtedy klepniesz serwer w Javie, a klienta w C#). Jeśli chcesz zrobić system rozproszony (tzn nie w modelu jeden serwer - wielu klientów) to polecam http://akka.io/

0

klienta już mam w javie. Chodzi o serwer który teraz jest web service'm i jest za wolny, dlatego chcę wymienić komunikację na sockety.
Rozumie, że do serwera również proponujesz jave. Jak spisuje się ona pod względem wydajności w porównaniu np do pythona, php czy c++?

dzięki za odpowiedz;)

0

Apache Thrift jest chyba dość cienką i wydajną warstwą nad socketami. Jeśli chodzi o Pythona czy PHP to standardowe implementacje (pomijam HipHopa czy PyPy) są wolne, dziesiątki razy wolniejsze w operacjach niskopoziomowych niż Java czy C++. Java ma zbliżoną wydajność do C++, zwłaszcza na Linuksach (na których działa lepiej niż na Windowsach).

Jeśli już masz klienta Javowego to w sumie możesz też serwer zrobić w Javie i użyć czysto Javowych technologii jak RMI czy JMS. Pierwsze jest synchroniczne w przeciwieństwie do drugiego, a drugie ma chyba nieco większy narzut niż pierwsze. Możesz też skorzystać z obu tych technik naraz.

Akka.io powinna być i tak sporo szybsza niż WebService natomiast jej API Javowe w twoim przypadku być może nie usprawni jakoś mocno projektowania aplikacji, a sama akka, jak myślę, ma większy narzut niż RMI czy JMS.

0

dzięki wielkie za pomoc:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1