We are seeking a skilled C# Socket Developer to develop high-performance networking application to communicate with remote I/O devices. The ideal candidate will have expertise in TCP/IP, UDP, WebSockets, and multi-threaded programming in C#. The candidate will work on real-time communication systems, client-server applications, and network protocols.
Responsibilities:
Develop and maintain socket-based communication systems in C#.
Implement TCP, UDP, and WebSockets for real-time data transmission.
Design multi-threaded applications ensuring efficient data processing.
Optimize network latency and performance for high-throughput applications.
Debug and troubleshoot network issues, connection failures, and data loss.
Implement asynchronous programming and event-driven architecture.
Ensure secure communication using encryption (SSL/TLS) and authentication mechanisms.
Write unit tests, integration tests, and performance benchmarks for networking code.
Collaborate with backend, frontend, and DevOps teams to ensure seamless application integration.
Mandatory Skills Description:
Required Skills & Qualifications:
5+ years' experience using C# and .NET Core/.NET Framework. and C++
Experience with System.Net.Sockets for TCP/UDP communication.
Understanding of socket lifecycle (connect, send, receive, close).
Expertise in multi-threading, parallel programming, and async programming.
Knowledge of networking concepts (IP addressing, ports, protocols, firewalls).
Familiarity with WebSockets, RabbitMQ for real-time applications.
Experience working with Windows Services, Linux sockets, or embedded systems (preferred).
Knowledge of REST APIs and microservices architecture (plus).
Bachelor's degree in Computer Science, Engineering, or a related field