Skip to content

Instantly share code, notes, and snippets.

@R3D9477
Last active February 17, 2021 07:46
Show Gist options
  • Save R3D9477/16bb34b7535c4eddbcb82ca97301a170 to your computer and use it in GitHub Desktop.
Save R3D9477/16bb34b7535c4eddbcb82ca97301a170 to your computer and use it in GitHub Desktop.
C++ TCP Receiver
#include <iostream>
#include <unistd.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>
#define DEF_TCP_PORT 20197
int main()
{
int sock;
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) >= 0) {
sockaddr_in serv_addr;
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(DEF_TCP_PORT);
if (inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr) > 0)
if (connect(sock, (sockaddr*)(&serv_addr), sizeof(serv_addr)) >= 0) {
char buffer[65535];
auto readSock = [&]() { memset(buffer, 0, sizeof(buffer)); return (read(sock, buffer, 65535) > 0); };
while (readSock())
std::cout << buffer << std::endl; // convert Qt datatype to C-style and display
close(sock);
return 0;
}
}
std::cout << errno << " - " << strerror(errno) << std::endl;
return -1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment