Мне нужно быстро реализовать очень небольшое C/С++ TCP-серверное/клиентское решение. Это просто передача буквально массива байтов с одного компьютера на другой - не требуется масштабируемое/чрезмерно сложное. Чем проще, тем лучше. Быстрая и грязная, если вы можете.
Я попытался использовать код из этого учебника, но я не смог его построить, используя g++ в Linux: http://www.linuxhowtos.org/C_C++/socket.htm
Если возможно, я бы хотел избежать сторонних библиотек, так как система, в которой я запускаю это, довольно ограничена. Это должно быть C или С++, поскольку существующее приложение уже реализовано.
Благодаря ответу emg-2 мне удалось сделать приведенный выше пример кода совместимым с С++, выполнив следующие шаги:
Добавьте эти заголовки к клиенту и серверу:
#include <cstdlib>
#include <cstring>
#include <unistd.h>
В server.c измените тип clilen на socklen_t.
int sockfd, newsockfd, portno/*, clilen*/;
socklen_t clilen;
В client.c измените следующую строку:
if (connect(sockfd,&serv_addr,sizeof(serv_addr)) < 0) { ... }
To:
if (connect(sockfd,(const sockaddr*)&serv_addr,sizeof(serv_addr)) < 0)