用于在ubuntu linux端使用套接字的客户端的C程序未运行

用于在ubuntu linux端使用套接字的客户端的C程序未运行,c,linux,sockets,C,Linux,Sockets,我不熟悉套接字编程。我今天试着执行一个程序。我的目的是检查服务器是否可用。预期输出“失败”,但我的程序似乎不工作。代码在编译过程中没有显示错误,这让我怀疑是否正确使用了LinuxAPI。以下是我的代码 #include<stdio.h> #include<string.h> #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> int main()

我不熟悉套接字编程。我今天试着执行一个程序。我的目的是检查服务器是否可用。预期输出“失败”,但我的程序似乎不工作。代码在编译过程中没有显示错误,这让我怀疑是否正确使用了LinuxAPI。以下是我的代码

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

int main()
    {
    char servIP[]="127.0.0.1";
    char check[]="check";
    int SrvConnect,ret;
    struct sockaddr_in servAdr;
    //printf("Test");
    SrvConnect=socket(AF_INET,SOCK_STREAM,0);
    servAdr.sin_addr.s_addr=inet_addr(servIP);
    servAdr.sin_port=htons(1000);
    ret=sendto(SrvConnect,&check,sizeof(check),0,(struct sockaddr *)&servAdr,sizeof(servAdr));
    if(ret==-1)
        printf("\nFailed!\n");
    //printf("Test");
    close(SrvConnect);
    }
#包括
#包括
#包括
#包括
#包括
int main()
{
char servIP[]=“127.0.0.1”;
字符检查[]=“检查”;
int SRV连接,ret;
servAdr中的结构sockaddr_;
//printf(“测试”);
SrvConnect=socket(AF_INET,SOCK_STREAM,0);
servAdr.sin_addr.s_addr=inet_addr(servIP);
SERVAADR.sin_端口=htons(1000);
ret=sendto(SrvConnect,&check,sizeof(check),0,(struct sockaddr*)&servAdr,sizeof(servAdr));
如果(ret==-1)
printf(“\n失败!\n”);
//printf(“测试”);
关闭(SRV连接);
}

我曾尝试在代码的开头和结尾放置几个输出语句(现在已注释)。但即使是这些行也不会执行。如果这是一个愚蠢的错误,请不要介意。A我对这真的很陌生,我没有人来指导我。感谢阅读。

问题是您创建了TCP套接字。TCP套接字需要先连接到服务器,然后才能发送任何内容。尝试先调用以连接到服务器,然后使用或发送数据。

问题是您创建了TCP套接字。TCP套接字需要先连接到服务器,然后才能发送任何内容。尝试先呼叫以连接到服务器,然后使用或发送数据。

在连接之前,您还需要设置
servAdr.sin\u family=AF\u INET

如果连接失败,最好使用
peror()
打印错误。

在连接之前,您还需要设置
servAdr.sin\u family=AF\u INET

如果连接失败,最好使用<代码> PrRoR()/<代码>打印错误。< /P>而不是使用<代码> Prtff<代码>打印错误,使用<代码> PrRor < /代码>,因为它将打印一个更完整的错误信息,基于<代码> ErnNO./Cord>。考虑阅读一本好书如@ JoachimPileborg谢谢。而不是使用<代码> Primtf<代码>打印错误,使用<代码> PrRor <代码>,因为它将打印一个更完整的错误信息,基于<代码> ErnNO./Cord>。考虑阅读一本好书如@ JoachimPileborg谢谢。非常感谢。我真傻。很抱歉浪费了您的时间。@user205177不用担心。每个人新来的时候看起来都很“傻”。会好起来的。:)非常感谢你。我真傻。很抱歉浪费了您的时间。@user205177不用担心。每个人新来的时候看起来都很“傻”。会好起来的。:)非常感谢,很抱歉给您添麻烦!非常感谢,很抱歉给您添麻烦!