2.2.2 小试牛刀--模拟实现Windows的UDP程序(12)

2013-10-07 15:54:45 · 作者: · 浏览: 83

2.2.2  小试牛刀--模拟实现Windows的UDP程序(12)

(10) 主函数

主函数main()实现Winsock的初始化、广播与多播的选择以及发送者与接收者身份选择等功能。具体实现代码如下:

  1. /*主函数*/  
  2. int main(int argc, char **argv)  
  3. {  
  4. WSADATA wsd;  
  5. initial();  
  6. GetArgments(argc, argv);  
  7. /*初始化Winsock*/  
  8. if (WSAStartup(MAKEWORD(2, 2), &wsd) != 0)  
  9. {  
  10. printf("WSAStartup() failed\n");  
  11. return -1;  
  12. }  
  13. if(broadFlag) /*如果是执行广播程序*/  
  14. {  
  15. /*以发送者身份发送消息*/  
  16. if(broadSendFlag)  
  17. {  
  18. broadcastSend();  
  19. return 0;  
  20. }  
  21. /*以接收者身份接收消息*/  
  22. else  
  23. {  
  24. broadcastRec();  
  25. return 0;  
  26. }  
  27. }  
  28. if(multiFlag) /*如果是执行多播程序*/  
  29. {  
  30. /*以发送者身份发送消息*/  
  31. if(multiSendFlag)   
  32. {  
  33. multicastSend();  
  34. return 0;  
  35. }  
  36. /*以接收者身份接收消息*/  
  37. else      
  38. {  
  39. multicastRec();  
  40. return 0;  
  41. }  
  42. }  
  43. return 0;  
  44. }  

到此为止,整个实例设计完毕,执行后的效果如图2-15所示。
 
(点击查看大图)图2-15  执行效果