LinuxSir.cn,穿越时空的Linuxsir!

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

socket编程请教....

[复制链接]
发表于 2005-3-28 23:04:21 | 显示全部楼层 |阅读模式
各位大侠,我做了一个程序,但在绑定的时候出现错误,我安装linux时没有选择作为服务器,会不会是这个问题,我把程序贴出来,大家有时间就帮我看看吧,不胜感激
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>

#define MAXLINE 4096

int main(void)
{
        int                         sockfd;
        char                *sz_hostname;
        char                **pptr_hostname;
        char                str[16];
        int                        iaddrtype;
        int                         ibindok;
        struct sockaddr_in        servaddr;
        struct hostent                *ptr_hostname;
       
        sz_hostname="HAHA";
        ptr_hostname=gethostbyname(sz_hostname);
        if(ptr_hostname==NULL)
        {
                printf("host name error!");
                return 0;
        }
        else printf("host name: %s \n",ptr_hostname->h_name);
        pptr_hostname=ptr_hostname->h_addr_list;
        for(;*pptr_hostname!=NULL;pptr_hostname++)
                printf("address: %s\n",inet_ntop(ptr_hostname->h_addrtype,*pptr_hostname,str,sizeof(str)));
       
        if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
        {
                printf("socket error!");
                return 0;
        }
        bzero(&servaddr,sizeof(servaddr));
        servaddr.sin_family=AF_INET;
        servaddr.sin_port=htons(18);
        //servaddr.sin_addr.s_addr=inet_addr("192.168.1.44");
        servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
        printf("Server IP: %s\n",inet_ntop(AF_INET,&servaddr.sin_addr,str,sizeof(str)));

        ibindok=bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
        if(ibindok!=0)
        {
                printf("bind error!\n");
                return 0;
        }
       
       
        return 1;
}
发表于 2005-3-28 23:20:50 | 显示全部楼层
肯定不是因为安装的时候没有选择作为服务器,兄台一百个放心。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-28 23:48:25 | 显示全部楼层
那是什么问题啊。。。救命啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-28 23:49:17 | 显示全部楼层
那是什么问题啊。。。救命。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-29 00:06:08 | 显示全部楼层
我知道了,是端口号的问题,我换了个已注册的端口号就好了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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