⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mycommpublic.cpp

📁 组播发送测试网络程序,客户端
💻 CPP
字号:
#include "stdafx.h"
#include "myCommPublic.h"
#include "math.h"
HWND  g_hMonWnd=NULL;


void ReSubString(char *pParentString,char *pChildString,char * strSplitCode)
{
 int nPos,nlen;

   /********Get the child string **/
  nPos=strcspn(pParentString,strSplitCode);
  memcpy(pChildString,pParentString,nPos);
  pChildString[nPos]='\0';
  nlen=strcspn(pParentString,"\0");
  if(nlen!=nPos){
   memcpy(pParentString,pParentString+nPos+1,nlen-nPos-1);
  pParentString[nlen-nPos-1]='\0';
  }
  else{
   pParentString[0]='\0';
  }
  return ;
 	 
}

void SetAddress(char* strAddress,CIPAddressCtrl* pAddCtrl){
	//DWORD dwIP;
	char szString[64],szBuffer[32]; 
    DWORD dwIPFields[IPBYTENUM];
	sprintf(szString,"%s",strAddress);
    for(int i=0;i<IPBYTENUM;i++){
		
		ReSubString(szString,szBuffer,".");
        dwIPFields[i]=atoi(szBuffer);
	    }
   
    
   pAddCtrl->SetAddress(dwIPFields[0],dwIPFields[1],
		                    dwIPFields[2],dwIPFields[3]); 
}
void  GetAddress(char *pout,CIPAddressCtrl* pAddCtrl)
{
//	CString strIP;
	DWORD dwIP;
	struct in_addr m_add;
    pAddCtrl->GetAddress(dwIP);
 	m_add.s_addr = htonl(dwIP);
	  
  	sprintf(pout,"%s",inet_ntoa(m_add));
	
	//return strIP;
}
void InitListCtrl(CListCtrl * pList,char *pszDesc[],
		             long lColumnWidth[],int nColumnNum)
{
for(int i=0;i<nColumnNum;i++){
     pList->InsertColumn(i,pszDesc[i],LVCFMT_LEFT,lColumnWidth[i],-1);
	}
}

int _ReadLine(FILE *fp,char pBuffer[]){
  int nRet=0;
  char c;
  while(!feof(fp)){
     if((c=fgetc(fp))!='\n')  // To a newline 
     pBuffer[nRet++]=c;
      else
      break;
  }  // end while 

  pBuffer[nRet]='\0'; //Add String ending symbol
  return nRet;
}
void CloseSokcet_(SOCKET s){
	if(s!=INVALID_SOCKET)
		closesocket(s);
	s=INVALID_SOCKET;
}
void CloseHandle_(HANDLE handle){
	if(handle!=NULL)
		CloseHandle(handle);
	handle=NULL;
}
void SwapBstrToString(BSTR *pbstr,char *pOut)
{
	if(SysStringLen(*pbstr)>0)
	{
      _bstr_t var(*pbstr,true);
       char *strResult=var;
       sprintf(pOut,"%s",strResult);}
	else
	   sprintf(pOut,"  ");
}
void SwapStringToBstr(char *pin,BSTR *pbstrOut){
	if(strlen(pin)>0)
	{_bstr_t var(pin);
	 *pbstrOut=SysAllocString(var.copy());
	}
}
BOOL InitWSA(){
	WORD wVersionRequested = MAKEWORD(2,0);
	WSADATA wsaData;
	int nRet;

	nRet = WSAStartup(wVersionRequested,&wsaData);
	if (nRet!=0){
		AfxMessageBox("eRROR");
		return FALSE;
	}
	return TRUE;
}
void EndWSA(){
	WSACleanup();
}
BOOL BitRateIsValid(DWORD dwPreTime,DWORD dwBitrate,DWORD dwPos){
   
   if (((float)dwBitrate/8/1000)*(timeGetTime()-dwPreTime)>(float)dwPos)
    return TRUE;
     else
   {  //TRACE("spant=%d pos=%d   bit=%d\n",timeGetTime()-dwPreTime,dwPos,nBitrate);	
   return FALSE;}
}
DWORD GetBitrate(DWORD dwSpanTime,DWORD dwDataSize){
	DWORD dwBitrate;
	dwBitrate=(int)(((float)dwDataSize*8*1000)/dwSpanTime);
	return dwBitrate;
}
void SwapToDotString(char *poutstr,long nInValue){
    double d1,dRet;
	d1=nInValue;
	CString str1,str2;
	while(1){
		dRet=fmod(d1,UNIT_K);
		//str2.Format("%s%3f%s",DOT,(int)dRet,str1);
		if(d1<999)
          str2.Format("%s%d%s",DOT,(int)dRet,str1);
        else if(dRet>=100)
		str2.Format("%s%d%s",DOT,(int)dRet,str1);
        else if(dRet>=10)
		     str2.Format("%s0%d%s",DOT,(int)dRet,str1);
             else
			 str2.Format("%s00%d%s",DOT,(int)dRet,str1);
            	 
		str1=str2;
	    d1=(int)d1/UNIT_K;
		if(d1==0)
         break;
	}
 sprintf(poutstr,"%s",str1.Right(str1.GetLength()-1));

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -