簡體   English   中英

c connect()錯誤-參數無效

[英]c connect() error - invalid argument

我正在編寫一個簡單的UDP客戶端,並以“無效參數”返回錯誤,但我不知道出了什么問題。 它在linux上編譯。 我的代碼如下。

int udp_fd = -1;
struct sockaddr_in addr;
int port = 1701;

udp_fd = socket(AF_PPPOX, SOCK_DGRAM, 0);
if (udp_fd < 0) {
    printf("fail to get UDP socket\n");
    return 0;
}

memset((char *) &addr, 0, sizeof(struct sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("31.25.210.118");
addr.sin_port = htons(port);

if(connect(udp_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0 ) {
    printf("UDP connect failed, errno = %s\n", strerror(errno));
    return 0;
}

您正在使用帶有AF_PPPoX套接字的AF_INET地址。 這是在混合蘋果和長尾小鸚鵡。

PPP代表“點對點”,在此域中沒有IP地址之類的東西。 選擇你的游戲。 您可以通過Internet連接,並使用socket(AF_INET, ... ,或者通過PPP連接,並使用PPP協議之一,例如PX_PROTO_OLACPX_PROTO_OPNS ,以及相應的套接字地址類型( sockaddr_pppolacsockaddr_pppopns ),而不是sockaddr_in

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM