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