c++实现SysLogServer发送端

来源:互联网 发布:蓝牙模块接线图 单片机 编辑:程序博客网 时间:2024/06/02 20:29
//服务器端口号为161#define DEFAULT_PORT 161//缓冲区长度#define DATA_BUFFER  1024void CMServerDlg::sendUdp(){WSADATA wsaData;SOCKET sClient;int iPort=DEFAULT_PORT;//服务器地址长度int iLen;//接收数据的缓冲int iSend;int   iRecv;//要发送给服务器的信息CString sysLog;sysLog.Format("<12>%s 127.0.0.1 mserver 测试",DateFormat());//接收数据的缓冲区char recv_buf[DATA_BUFFER];//服务器端地址struct sockaddr_in ser;memset(recv_buf,0,sizeof(recv_buf));if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){  printf("Failed to load Winsock.\n");  return;}//建立服务器端地址ser.sin_family=AF_INET;ser.sin_port=htons(iPort);ser.sin_addr.s_addr=inet_addr("127.0.0.1");//建立客户端数据报套接口sClient=socket(AF_INET,SOCK_DGRAM,0);if(sClient==INVALID_SOCKET){  printf("socket()Failed:%d\n",WSAGetLastError());  return;}   iLen=sizeof(ser);//向服务器发送数据   iSend=sendto(sClient,sysLog,sizeof(sysLog),0,(struct sockaddr*)&ser,iLen);if(iSend==SOCKET_ERROR){   printf("sendto()Failed:%d\n",WSAGetLastError());   return;}else if(iSend==0)   return;   else   printf("sendto()succeeded.\n");}CString CMServerDlg::DateFormat(){//获取gmt时间CString szGmtTime;time_t rawTime;  struct tm* timeInfo;  char szTemp[30]={0};  time(&rawTime);  timeInfo = gmtime(&rawTime);  strftime(szTemp,sizeof(szTemp),"%a, %d %b %Y %H:%M:%S GMT",timeInfo);szGmtTime =szTemp;int npos =szGmtTime.Find(",");szGmtTime =szGmtTime.Right(szGmtTime.GetLength()-npos-2);npos =szGmtTime.Find("GMT");szGmtTime =szGmtTime.Left(npos-1);return szGmtTime;}

原创粉丝点击