RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
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 代码编写
网页URL:http://www.jxjierui.cn/article/cdpgdjs.html