免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1198 | 回复: 1
打印 上一主题 下一主题

socket错误! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-22 11:05 |只看该作者 |倒序浏览
winxp(vc编译)报错:

--------------------Configuration: socketserver - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/socketserver.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

socketserver.exe - 2 error(s), 0 warning(s)


代码如下:

#ifndef _SOCKET_SERVER_H
#define _SOCKET_SERVER_H

#ifndef _WIN32
#include <sys/socket.h>;
#include <unistd.h>;
#include <netinet/in.h>;
#else
#include <winsock.h>;
#endif

#include <stdio.h>;
#include <string.h>;
#include <errno.h>;


#define PORT 8888

int main(int argc, char *argv[])
{
    int sockfd,new_fd;
    struct sockaddr_in server_addr;
    struct sockaddr_in client_addr;
    int sin_size,portnumber;
    char hello[]="Hello! Are You Fine?\n";

    portnumber = PORT ;

    /* 服务器端开始建立socket描述符 */
    if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
    {
    fprintf(stderr,"Socket error:%s\n\a",strerror(errno));
    exit(1);
    }

    fprintf(stderr,"Create Socket\n\a";

    /* 服务器端填充 sockaddr结构 */
    bzero(&server_addr,sizeof(struct sockaddr_in));
    server_addr.sin_family=AF_INET;
    server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
    server_addr.sin_port=htons(portnumber);

    /* 捆绑sockfd描述符 */
    if(bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1)
    {
        fprintf(stderr,"Bind error:%s\n\a",strerror(errno));
        exit(1);
    }
   
    fprintf(stderr,"Start Listen...\n\a";

    /* 监听sockfd描述符 */
    if(listen(sockfd,5)==-1)
    {
        fprintf(stderr,"Listen error:%s\n\a",strerror(errno));
        exit(1);
    }

    while(1)
    {
        /* 服务器阻塞,直到客户程序建立连接 */
        sin_size=sizeof(struct sockaddr_in);
        if((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size))==-1)
        {
            fprintf(stderr,"Accept error:%s\n\a",strerror(errno));
            exit(1);
        }
        //fprintf(stderr,"accept\n\a";

        fprintf(stderr,"Server get connection from %s\n",inet_ntoa(client_addr.sin_addr));
        if(write(new_fd,hello,strlen(hello))==-1)
        {
            fprintf(stderr,"Write Error:%s\n",strerror(errno));
            exit(1);
        }
        //fprintf(stderr,"write\n\a";

        /* 这个通讯已经结束 */
        close(new_fd);
        /* 循环下一个 */
    }
    close(sockfd);
    exit(0);
}
#endif//_SOCKET_SERVER_H

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2005-02-22 12:56 |只看该作者

socket错误!

把你的文件的开始两行和最后一行去掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP