扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
void CServerView::OnStart () { Started=TRUE; m_Start.EnableWindow(!Started); try { g_sListen.Create(6802,SOCK_DGRAM,NULL); g_sListen.Bind(6802,m_IP);//,6802为端口号,m_IP为服务器端IP地址 g_sListen.Listen(); ((CServerDoc*)GetDocument())->g_pchatListen=new CChatLsnSock( (CAnyServerDoc*)GetDocument()); CChatLsnSock* g_pchatListen=((CAnyServerDoc*)GetDocument())->g_pchatListen; g_pchatListen->Create(9999,SOCK_STREAM);//侦听聊天室连接套接字创建 g_pchatListen->Listen(); GetDlgItem(IDC_RESPONSE)->SetWindowText("开始对客户端服务!"); } |
void CClientView::OnClientStart() {m_sockRecv.Create(6801,SOCK_DGRAM,m_ClientIP);//6801为端口号,m_ClientIP为客户端IP m_sockRecv.Bind(6801,m_ClientIP); m_timer1=SetTimer(1,1000,NULL); m_timer2=SetTimer(2,250,NULL); GetLocalTime(&SysTime); m_StartTime=SysTime; m_WavePlay.SetStartTime(SysTime.wYear,SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond);//画出曲线初始时间 this->m_CurrentSysTime.SetFocus(); } |
void CClientView::OnDataReceive() { extern CListBox* pmyListBox; char szTempRecv[20]; CString szIP(m_IP);//得到服务器端的IP UINT uPort=6802;//指出端口 int iTempRecv=m_sockRecv.ReceiveFrom(szRecv,10,szIP,uPort,0); szRecv[iRecv]='\0'; m_szRecv=szTempRecv; m_listBox.AddString((LPCTSTR)m_szRecv); int nCount=m_listBox.GetCount(); if (nCount > 0) m_listBox.SetCurSel(nCount-1); GetLocalTime(&SystemTime); m_NowTime=SystemTime; CString strSysTime; strSysTime.Format(_T("%d-%d-%d %d:%d:%d"),SystemTime.wYear,SystemTime.wMonth,SystemTime.wDay,SystemTime.wHour,SystemTime.wMinute,SystemTime.wSecond); UpdateData(FALSE); CurABSTime=(m_NowTime-m_StartTime).GetTotalSeconds(); m_WavePlay.SetPoint2(CurABSTime,atoi(m_szRecv));//用自做ActiveX控件画出温度曲线 |
完成后通过远程登录看到的运行界面如图2所示。
3:结束语
在实际应用中,程序还有聊天功能、查看远程屏幕功能、文件的上传和下载功能,从而更方便与远端进行通信。另外在连接时采用密码和用户名印证方法,从而使监控更加有力,并防止不法用户登录和篡改数据。本论文人工气候室是与韶关医疗器械厂合作的用于生物培养的项目,目前已经投入使用并在区内通过局域网实现了对设备的监控。
图2 当前服务器端人工气候室温度运行情况
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者