发送udp包-windows网络编程

来源:互联网 发布:apache 禁止目录列表 编辑:程序博客网 时间:2024/06/02 23:34

// test.cpp : Defines the entry point for the console application.
//
#ifdef WIN32
#include "stdafx.h"
#include <WinSock2.h>

int _tmain(int argc, _TCHAR* argv[])
{
 SOCKET rtpsock;

 struct sockaddr_in video_sock;
 struct sockaddr_in audio_sock;
 unsigned short video_port = 5000;
 unsigned short audio_port = 6000;
 char ipstr[32] = "238.1.1.1";
 unsigned int destip;

 char videoBuf[1024]="send video data";
 char audioBuf[1024]="send audio data";

#ifdef WIN32
 //InitWinsock();
 WSADATA wsaData;
 if (WSAStartup(MAKEWORD(2,2),&wsaData)) //调用Windows Sockets DLL
 {
  printf("WSAStartup/n");
  WSACleanup();
  return 0;
 }
#endif

 // Create socket
 destip = inet_addr(ipstr);
 // video socket
 video_sock.sin_family=AF_INET;
 video_sock.sin_port=htons(video_port); ///监听端口
 video_sock.sin_addr.s_addr=destip;//inet_addr("238.1.1.1"); ///本机
 // audio socket
 audio_sock.sin_family=AF_INET;
 audio_sock.sin_port=htons(audio_port); ///监听端口
 audio_sock.sin_addr.s_addr=destip;//inet_addr("238.1.1.1"); ///本机

 rtpsock=socket(AF_INET,SOCK_DGRAM,0);
 while (1)
 {
  printf("---------------Send video data-------------/n");
  sendto(rtpsock,videoBuf,strlen(videoBuf),0,(struct sockaddr*)&video_sock,sizeof(struct sockaddr));
  Sleep(500);
  printf("---------------Send audio data-------------/n");
  sendto(rtpsock,audioBuf,strlen(audioBuf),0,(struct sockaddr*)&audio_sock,sizeof(struct sockaddr));
  Sleep(500);

 }
 closesocket(rtpsock);

 return 0;
}

 

原创粉丝点击