C ++ TCP服务器 - recv返回

时间:2016-04-16 13:58:46

标签: c++ tcp server

我在C ++中创建一个TCP服务器作为学校作业的一部分。这是我发送消息然后接收消息的方式。

string message_s = "100 LOGIN\r\n";
strcpy(senbuffer,message_s.c_str());
if(send(c, senbuffer, strlen(senbuffer), 0) < 0){
    perror("Cant send data!");
    close(c);
    return -3;
}
int bytesRead = recv(c, recbuffer, BUFFER_SIZE, 0);
if(bytesRead <= 0){
    perror("Socket read failed");
    close(c);
    exit;
}

问题是 - 我们有一个用于测试的VirtualBox图像。但它只是不能在该图像上工作 - recv返回0.然而,当我尝试telnet时,它就像一个魅力。有人知道我接下来应该做什么吗?我很乐意发布更多代码,但我不想在开始时发布整个内容 - 它会使这个页面变得一团糟。

非常感谢

编辑:这是我从中获得c和l的地方:

int l = socket(AF_INET, SOCK_STREAM, 0);    
int c = accept(l, (struct sockaddr *) &remote_address, &size);

0 个答案:

没有答案