c编写服务器_C/C 代码编写

在C语言中,我们可以使用socket编程来创建一个服务器,以下是一个简单的TCP服务器的示例:

#include 
#include 
#include 
#include 
#include 
#include 
#define BUF_SIZE 1024
void error_handling(char *message);
int main(int argc, char *argv[])
{
    int serv_sock, clnt_sock;
    char message[BUF_SIZE];
    int str_len, i;
    struct sockaddr_in serv_adr, clnt_adr;
    socklen_t clnt_adr_sz;
    if(argc!=2) {
        printf("Usage : %s \n", argv[0]);
        exit(1);
    }
    serv_sock=socket(PF_INET, SOCK_STREAM, 0);
    if(serv_sock==1)
        error_handling("socket() error");
    memset(&serv_adr, 0, sizeof(serv_adr));
    serv_adr.sin_family=AF_INET;
    serv_adr.sin_addr.s_addr=htonl(INADDR_ANY);
    serv_adr.sin_port=htons(atoi(argv[1]));
    if(bind(serv_sock, (struct sockaddr*) &serv_adr, sizeof(serv_adr))==1)
        error_handling("bind() error");
    if(listen(serv_sock, 5)==1)
        error_handling("listen() error");
    clnt_adr_sz=sizeof(clnt_adr);   
    for(i=0; i<5; i++)   
    {
        clnt_sock=accept(serv_sock, (struct sockaddr*)&clnt_adr, &clnt_adr_sz);
        if(clnt_sock==1)
            error_handling("accept() error");
        else 
            printf("Connected client %d \n", i+1);
        while((str_len=read(clnt_sock, message, BUF_SIZE))!=0)
            write(clnt_sock, message, str_len);
        close(clnt_sock);
    }
    close(serv_sock);
    return 0;
}
void error_handling(char *message)
{
    fputs(message, stderr);
    fputc('\n', stderr);
    exit(1);
}

这个服务器会监听指定的端口,当有客户端连接时,它会接收客户端发送的消息,并将消息原样返回给客户端。

网站题目:c编写服务器_C/C 代码编写
文章地址:http://www.shufengxianlan.com/qtweb/news23/379573.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联