www.pudn.com > DVR-MPEG4±àÂë²¥·ÅÆ÷ .rar > STiLink.cpp


 
#include  
#include  
#include  
#include "STiLink.h" 
//#include "VRT.h" 
 
int    sockfd; 
struct sockaddr_in sockStruct; 
char   IpAddr[64]; 
//------------------------------- 
//------------------------------- 
 
int InitVRTLink(char *ServerIP,int IpPort) 
{ 
    WSADATA WSAData; 
    WORD  wVersionRequested; 
    wVersionRequested = MAKEWORD(2, 2); 
     
	if (WSAStartup (wVersionRequested , &WSAData) != 0)  
    { 
        printf ("recver:Initialize Winsock error!"); 
        return -1; 
    } 
 
    if (LOBYTE(WSAData.wVersion) != 2 || HIBYTE(WSAData.wVersion) != 2 ) { 
        WSACleanup( ); 
        printf ("setsockopt failed! Error: %d", WSAGetLastError ()); 
        return -1; 
    }  
 
	 
	if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0)  
	{ 
        MessageBox(NULL,"socket error","Error",MB_OK); 
        return -1;     
    } 
 
    strcpy(IpAddr,ServerIP); 
	DWORD dwip; 
	if((dwip=inet_addr(IpAddr))==INADDR_NONE) 
	{ 
		return -1; 
	} 
    sockStruct.sin_family=AF_INET;  
    sockStruct.sin_port = htons(IpPort); 
	sockStruct.sin_addr.S_un.S_addr = dwip; 
 
 
	if(connect(sockfd,(LPSOCKADDR)&sockStruct,sizeof(sockStruct)) == SOCKET_ERROR) 
    { 
	    MessageBox(NULL,"please check net condition","link Error",MB_OK); 
	    return -1; 
	} 
	return 0; 
} 
 
void SendVRTData(char * Buf,int Len) 
{ 
	send(sockfd,Buf,Len,0); 
} 
 
void RecvVRTData(char * Buf,int Len) 
{ 
	recv(sockfd,Buf,Len,0); 
} 
 
void	CloseVRTLink(void) 
{ 
	closesocket (sockfd); 
	WSACleanup(); 
 
} 
void StopVRTLink(void) 
{ 
	WSACleanup(); 
}