I am new to Socket programming. We have to write socket server for existing c# socket client. Protocol is TCP, no TLS. The server code is not available. How to ensure that server socket component will respond to Client call? What are the important things that I need to be aware of? Someone from the team was saying that I need to implement the same protocol that existing server was using. what does that mean?
Writing socket server for existing socket client
61 Views Asked by Annie At
1
There are 1 best solutions below
Related Questions in C#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in SOCKETS
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- My server TCP doesn't receive messages from the client in C
- how is strncpy able to copy from source to empty destination?
- Python Multicast packet receiver stops receiving multicast packets when computer is connected to WiFi
- Python Client-Server Communication with Protocol
- Reversed TLS re-connection issue
- Android 13 & 14 seem to close WebSocket connection, if i put app in background, after ~20s
- Java SocketException: Connection reset,. What is the cause?
- Multipart/form-data with chunked data transfer (ICAP protocol)
- View Socket View
- Client connection timeout during Android & Windows PC communication via sockets
- Browser connect to raw sockets even possible?
- Protocol 43200 after unpacking received data
- Unity SocketIo using Best http2 plugin want to use in webgl
- How does pre-allocating a pool of SocketAsyncEventArgs objects upfront improve the performance of a server application in c#
Related Questions in SERVERSOCKET
- Python Client-Server Communication with Protocol
- DataInputStream not recognising input
- How to fix collect2.exe error: ld returned 1 exit status in VSCODE , for C
- Nextjs how to use websockets in a server side rendering setup
- How to authenticate socket.io with token?
- JAVA Socket Client TCP doesnt work very well
- Socket IO flutter Connection error Android
- How to resolve the issue of message reception in LAN Chat
- golang googollee/go-socket.io module pingtimeout automatically closing socket connections
- Why does the TCP client send the char array correctly but the server can't read it?
- Writing socket server for existing socket client
- How can a client located in a container communicate with a server that is not located in a container?
- Why can I not establish the Input/OutputStreams? Java ServerSocket
- How to make Encrypted Connection in Java
- I am getting a java.net.SocketException: Connection reset
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Sockets are just a mechanism to exchange bytes; exchanging bytes is relatively easy - but what you need to know is what bytes to send (and when receiving: what those bytes mean). This is the wire protocol.
The first thing you need to figure out is the raw transport details: is this TCP? UDP? what port number? is there TLS involved? etc. UDP is a packet protocol, TCP is a stream protocol, but in either case you need to find out how messages are represented on that protocol. If this is a well-known protocol, there may be a specification you can read - or even better: a prebuilt implementation. But essentially you're looking for details like this (RFC6455, web-sockets) or this (RESP===redis). The first thing this will usually define is the framing - for example in UDP, it could be as simple as "1 packet===1 frame, maxiumum SOME_NUMBER bytes", but in TCP it is more likely to be something like "frames are prefixed by a header of 14 bytes; the 3rd-7th bytes of that header denote the payload length as a little-endian 32-bit integer; the header is followed by the PAYLOAD_LENGTH bytes" - or similar. For a text-focused protocol, it could be "frames termination is 2 end-of-line sequences, accepting (some specified combination/permutation of CR/LF). Note further that the message's protocol might not include the data serialization protocol; it might be as simple as "payloads are UTF-8 encoded text", but it might be "payloads are protobuf messages following SomeUnknown.proto", or something entirely bespoke and undocumented. It may even not be defined strictly (for example, gRPC usually assumes that it is talking protobuf, but that is not strictly required). Other common formats might be JSON or XML, but raw sockets are often more binary than text.