C++ C++;网络程序运行但不输出

C++ C++;网络程序运行但不输出,c++,network-programming,C++,Network Programming,我的简单程序在编译器中没有错误,运行良好,但在有人连接之前,它不会给出预期的输出。我做了大量的研究和编辑,但还没有弄明白。还有,我如何让多人联系?如果您有任何帮助,我们将不胜感激。提前感谢!!!代码如下 #include <iostream> #include <sys/socket.h> #include <arpa/inet.h> #include <stdio.h> #include <string.h> char msg[20

我的简单程序在编译器中没有错误,运行良好,但在有人连接之前,它不会给出预期的输出。我做了大量的研究和编辑,但还没有弄明白。还有,我如何让多人联系?如果您有任何帮助,我们将不胜感激。提前感谢!!!代码如下

#include <iostream>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>

char msg[20];

using namespace std;

int main(int argc, char *argv[])
{
    cout << "Made it to main!";

    int listener_d = socket(PF_INET, SOCK_STREAM, 0);

    struct sockaddr_in name;
    name.sin_family = PF_INET;
    name.sin_port = (in_port_t)htons(30000);
    name.sin_addr.s_addr = INADDR_ANY;
    if(bind (listener_d, (struct sockaddr *) &name, sizeof(name)) == -1)
    {
        cout << "Can't bind the port!";
    }
    else
    {
        cout << "The port has been bound.";
    }

    listen(listener_d, 10);
    cout << "Waiting for connection...";

    while(1)
    {
        struct sockaddr_storage client_addr;
        unsigned int address_size = sizeof(client_addr);
        int connect_d = accept(listener_d, (struct sockaddr *)&client_addr, &address_size);
        cin >> msg;

        send(connect_d, msg, strlen(msg), 0);
    }
    return 0;
}
#包括
#包括
#包括
#包括
#包括
char-msg[20];
使用名称空间std;
int main(int argc,char*argv[])
{

cout也许你应该尝试刷新输出

std::cout << "Waiting for connection..." << std::flush;

std::cout“但它没有给出它也应该给出的输出”它应该给出什么输出?我刚刚编译了它,它给出了输出。只要你从
cin>>msg;
读取,就不应该
cout
被刷新吗?@Jesse:IIRC有一个设置。但是请注意,在套接字连接之前,没有从
cin
读取任何内容。程序愉快地等待
accept()
call,
cin
没有被使用,而且
cout
没有被刷新。+1 OP刚刚编辑了一个问题,说
,直到有人连接起来。
。还有,我如何让多人连接?@ExZiMeC0PP3R:“我如何让多人连接?”看起来像是一个新问题。