我的簡單程序沒有通過編譯器發生錯誤,運行良好,但它沒有給出輸出,直到有人連接。我已經做了很多研究和編輯,但無法弄清楚。還有,我怎麼讓不止一個人連接?任何幫助,讓這個工作,將不勝感激。提前致謝!!!代碼如下。C++網絡程序運行但沒有輸出
#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;
}
「但它不會給出它應該輸出的結果」它應該給出什麼輸出? – Csq
我剛剛編譯它[在liveworkspace](http://liveworkspace.org/code/40ZzEI$0),它給出了輸出。 –