Я написал небольшой сервер, который принимает подключения в c.it, просто принимает соединение и должен отправлять данные, когда соединение принято. Но это не так!
принимает соединение, но никогда не отправляет никаких данных (строки после вызова accept() никогда не выполняются).отправка данных после принятия()
//Server!
#include <stdio.h>
#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>
#pragma comment(lib,"WS2_32.lib")
using namespace::std;
int main(int argc, char **argv){
int sockd,newsockd,status=0;
WSADATA ws;
WSAStartup(MAKEWORD(2, 2),&ws);
struct addrinfo hints, *res;
ZeroMemory(&hints, sizeof(hints));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
cout<<getaddrinfo("127.0.0.1", "6164", &hints, &res)<<endl;
sockd = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
cout<<"SOCKET NUMBER="<<sockd<<endl;
cout << "BIND STATUS=" << bind(sockd,res->ai_addr, res->ai_addrlen)<<endl;
status = listen(sockd, 16);
if (status >= 0){
cout << "Now Listening On Port 6164 TCP!"<<endl;
}
else{
return WSAGetLastError();
}
struct sockaddr_storage theirs;
newsockd=accept(sockd, (struct sockaddr*)&theirs,(socklen_t*) sizeof(theirs));
send(newsockd, "Hello!", 18, 0);
getchar();
return 0;
}
Наиболее читаемый код с давних времен .... – ckruczek
@ckruczek, так что проблема в ...? –
Лучше читайте, как лучше форматировать свой код в своем вопросе, чтобы вы могли ответить на вопрос. Хотя гораздо проще прочитать ваш вопрос и получить основную часть вашего кода. – ckruczek