日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
c編寫(xiě)服務(wù)器_C/C 代碼編寫(xiě)

在C語(yǔ)言中,我們可以使用socket編程來(lái)創(chuàng)建一個(gè)服務(wù)器,以下是一個(gè)簡(jiǎn)單的TCP服務(wù)器的示例:

#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);
}

這個(gè)服務(wù)器會(huì)監(jiān)聽(tīng)指定的端口,當(dāng)有客戶端連接時(shí),它會(huì)接收客戶端發(fā)送的消息,并將消息原樣返回給客戶端。


文章題目:c編寫(xiě)服務(wù)器_C/C 代碼編寫(xiě)
本文地址:http://m.5511xx.com/article/cdpgdjs.html