LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 672|回复: 4

socket求助!

[复制链接]
发表于 2003-12-28 14:32:49 | 显示全部楼层 |阅读模式
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#define PORT 4567
#define BUFSIZE 512

int main(int argc,char** argv)
{
        int socketf,n;
        char buf[BUFSIZE];
        struct sockaddr_in server;
        if(argc!=2)
        {
                printf("%s","IP address error");
                exit(-1);
       }
        if((socketf=socket(AF_INET,SOCK_STREAM,0)<=0)
        {
                printf("%s","socket error");
                exit(-1);
        }
        bzero(&server,sizeof(server));
        server.sin_family = AF_INET;
        server.port = htons(PORT);
        server.sin_addr.s_addr=inet_addr(argv[1]);
        if(connect(socketf,(struct sockaddr *)&server,sizeof(server))<0)
        {
                printf("%s","connetc error");
                exit(-1);
        }
        if(recv(socketf,buf,BUFSIZE,0)<0)
        {
                prinft("%s","recever error");
                exit(-1);
        }
        else
                printf("%s",buf);
        close(socketf);

}

程序第12行错误提示:
**:in function 'main':
**:storage size of "server" isn't known
发表于 2003-12-28 16:20:57 | 显示全部楼层
建议直接查看相关的头文件:/usr/include/sys/socket.h
发表于 2003-12-28 16:37:05 | 显示全部楼层
你少了一个
#include <netinet/in.h>
发表于 2003-12-29 15:26:01 | 显示全部楼层
建议你看《Unix网络编程》
发表于 2004-1-2 16:43:42 | 显示全部楼层

回复: socket求助!

最初由 hu258f 发表
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#define PORT 4567
#define BUFSIZE 512

int main(int argc,char** argv)
{
        int socketf,n;
        char buf[BUFSIZE];
        struct sockaddr_in server;
        if(argc!=2)
        {
                printf("%s","IP address error");
                exit(-1);
       }
        if((socketf=socket(AF_INET,SOCK_STREAM,0)<=0)
        {
                printf("%s","socket error");
                exit(-1);
        }
        bzero(&server,sizeof(server));
        server.sin_family = AF_INET;
        server.port = htons(PORT);
        server.sin_addr.s_addr=inet_addr(argv[1]);
        if(connect(socketf,(struct sockaddr *)&server,sizeof(server))<0)
        {
                printf("%s","connetc error");
                exit(-1);
        }
        if(recv(socketf,buf,BUFSIZE,0)<0)
        {
                prinft("%s","recever error");
                exit(-1);
        }
        else
                printf("%s",buf);
        close(socketf);

}

程序第12行错误提示:
**:in function 'main':
**:storage size of "server" isn't known

sizeof(struct sockaddr_in)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表