Вы можете заменить следующую часть своего кода:
char request1[]="GET /index.html HTTP/1.1\r\n\r\n";
send(network_socket,request1,sizeof(request1),0);
.. например, таким образом:
char request1a[]="GET /index.html";
char request1b[]=" HTTP/1.1\r\n\r\n";
send(network_socket,request1a,sizeof(request1a)-1,0);
send(network_socket,request1b,sizeof(request1b),0);
Обратите внимание на -1
. Это необходимо, потому что вы не хотите отправлять дополнительные '\ 0' на сервер. Использование strlen()
может быть альтернативным способом.
TCP ориентирован на поток, поэтому несколько отправок не будут добавлять границы сообщений к передаваемым данным. Может генерировать больше IP-пакетов, но это не нарушит функциональность.
Не забудьте добавить проверку ошибок для этих вызовов функций.