亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1260 | 回復(fù): 0
打印 上一主題 下一主題

組播例子 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-01-20 15:19 |只看該作者 |倒序瀏覽
//////////////////////////server////////////////////////////////
/*
編譯程序用下列命令:
gcc -Wall mcastclient.c -o mcastclient
gcc -Wall mcastserver.c -o mcastserver
運行程序用如下命令:
./mcastserver 230.1.1.1 7838
客戶端程序運行命令為:
./mcastclient 230.1.1.1 7838 192.168.100.1 12345
*/
#include
#include
#include
#include
#include
#include
#include
#include
#define BUFLEN 255
/*********************************************************************
*filename: mcastserver.c
*purpose: 演示組播編程的基本步驟,組播服務(wù)器端,關(guān)鍵在于加入組
*tidied by: zhoulifa(
zhoulifa@163.com
) 周立發(fā)(
http://zhoulifa.bokee.com
)
Linux愛好者 Linux知識傳播者 SOHO族 開發(fā)者 最擅長C語言
*date time:2007-01-25 13:20:00
*Note: 任何人可以任意復(fù)制代碼并運用這些文檔,當然包括你的商業(yè)用途
* 但請遵循GPL
*Thanks to: Google.com
*Hope:希望越來越多的人貢獻自己的力量,為科學(xué)技術(shù)發(fā)展出力
* 科技站在巨人的肩膀上進步更快!感謝有開源前輩的貢獻!
*********************************************************************/
int main(int argc, char **argv)
{
    struct sockaddr_in peeraddr;
    struct in_addr ia;
    int sockfd;
    char recmsg[BUFLEN + 1];
    unsigned int socklen, n;
    struct hostent *group;
    struct ip_mreq mreq;
   
    /* 創(chuàng)建 socket 用于UDP通訊 */
    sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sockfd
    /* 設(shè)置要加入組播的地址 */
     bzero(&mreq, sizeof(struct ip_mreq));
     if (argv[1])
      {
         if ((group = gethostbyname(argv[1])) == (struct hostent *) 0)
          {
            perror("gethostbyname");
            exit(errno);
          }
      }
     else
      {
         printf("you should give me a group address, 224.0.0.0-239.255.255.255\n");
         exit(errno);
      }
      bcopy((void *) group->h_addr, (void *) &ia, group->h_length);
      /* 設(shè)置組地址 */
      bcopy(&ia, &mreq.imr_multiaddr.s_addr, sizeof(struct in_addr));
       /* 設(shè)置發(fā)送組播消息的源主機的地址信息 */
      mreq.imr_interface.s_addr = htonl(INADDR_ANY);
       /* 把本機加入組播地址,即本機網(wǎng)卡作為組播成員,只有加入組才能收到組播消息 */
     if (setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq,sizeof(struct ip_mreq)) == -1)
      {
        perror("setsockopt");
        exit(-1);
       }
     socklen = sizeof(struct sockaddr_in);
     memset(&peeraddr, 0, socklen);
     peeraddr.sin_family = AF_INET;
     if (argv[2])
        peeraddr.sin_port = htons(atoi(argv[2]));
     else
        peeraddr.sin_port = htons(7838);
     if (argv[1])
      {
         if (inet_pton(AF_INET, argv[1], &peeraddr.sin_addr)
/* 綁定自己的端口和IP信息到socket上 */
    if (bind(sockfd, (struct sockaddr *) &peeraddr,sizeof(struct sockaddr_in)) == -1)
     {
        printf("Bind error\n");
        exit(0);
      }
      
int len = 0;
      len = sizeof(struct sockaddr_in);
      printf("%s\n", inet_ntoa(peeraddr.sin_addr));
     printf("port:%d\n", peeraddr.sin_port);  
     
/* 循環(huán)接收網(wǎng)絡(luò)上來的組播消息 */
for (;;)
{
    bzero(recmsg, BUFLEN + 1);
    n = recvfrom(sockfd, recmsg, BUFLEN, 0,(struct sockaddr *) &peeraddr, &socklen);
    if (n
}





///////////////////////////////client/////////////////////////////////


#include
#include
#include
#include
#include
#include
#define BUFLEN 255
/*********************************************************************
*filename: mcastclient.c
*purpose: 演示組播編程的基本步驟,其實這就是一個基本的UDP客戶端程序
*tidied by: zhoulifa(
zhoulifa@163.com
) 周立發(fā)(
http://zhoulifa.bokee.com
)
Linux愛好者 Linux知識傳播者 SOHO族 開發(fā)者 最擅長C語言
*date time:2007-01-25 13:10:00
*Note: 任何人可以任意復(fù)制代碼并運用這些文檔,當然包括你的商業(yè)用途
* 但請遵循GPL
*Thanks to: Google.com
*Hope:希望越來越多的人貢獻自己的力量,為科學(xué)技術(shù)發(fā)展出力
* 科技站在巨人的肩膀上進步更快!感謝有開源前輩的貢獻!
*********************************************************************/
int main(int argc, char **argv)
{
    struct sockaddr_in peeraddr, myaddr;
    int sockfd;
    char recmsg[BUFLEN + 1];
    unsigned int socklen;
   
    /* 創(chuàng)建 socket 用于UDP通訊 */
    sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sockfd

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/35065/showart_2154928.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP