Any Kronos client will be available to use three basic commandsInsertGetDelete In future I want to add few more, like Count and GetKeys. Each of requests to the server serialized to binary form is preceded by few bytes of meta-data, including RequestType. In code its represented as a Request class, which in addition to type has two generic methods. At the beginning they might look difficult, but they are quite simple. First of them is responsible for sending any request to the server via special connec...
Architektura 3150 dni, 3 godziny, 33 minuty temu 43 źrodło rozwiń
In the third post about XGain I would like to say something about the heart of server. TcpListener is a great class to build server. It has a normal and async methods, you can choose between Socket and TcpClient. Unfortunately writing this same logic for new project might be boring.
Architektura 3164 dni, 2 godziny, 5 minut temu 42 źrodło rozwiń
Network layer is really hard to test and debug. XGain works on the Socket class level and this class doesn’t have an interface. That means testing of any component references to this type is really hard, but everything is possible.
Daj się poznać 2016 3167 dni, 20 godzin, 11 minut temu 44 źrodło rozwiń
.NET framework has a Socket class to deal with low-level networking. Standalone synchronous server based on Socket is not so difficult, here is an example:. Microsoft has provided two ways of creating high performance TCP/IP server. The most cool is SocketAsyncEventArgs with event-based system
Daj się poznać 2016 3171 dni, 18 godzin, 7 minut temu 97 źrodło rozwiń
Trzeci z serii artykułów, w których pokażę swój pomysł na ożenienie WPF, Silverlight i Windows Phone. Przedstawiam tutaj działającą, prostą architekturę pozwalającą na komunikację wszystkich 3 klienckich platform z serwerem przy pomocy socketów.
Architektura 4661 dni, 23 godziny, 48 minut temu 58 źrodło rozwiń
Nasiedziałem się nad pewnym problemem zdecydowanie dłużej niż siedzieć się nad nim powinno. W pisanym systemie Callcenter podpinam się do FreeSWITCHa socketem TCP coby w tenże sposób kontrolować jego zachowanie. Jak się można domyślić - stan połączenia między serwerem a centralką telefoniczną jest dla aplikacji callcenter dość kluczowy. Okazało się jednak, że standardowa logika wykrywania błędów połączenia (tzn. po prostu łapanie wyjątków występujących podczas komunikacji i odpowiednia na to zdarzenie r...