{ 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("开始对客户端服务!");
}
服务端开启后的运行界面如图1所示。
客户端:
void CClientView::OnClientStart()
{m_sockRecv.Create(6801,SOCK_DGRAM,m_ClientIP)//6801为端口号,m_ClientIP为客户端IP<br>m_sockRecv.Bind(6801,m_ClientIP);<br>m_timer1=SetTimer(1,1000,NULL);<br>m_timer2=SetTimer(2,250,NULL);<br>GetLocalTime(&SysTime);<br>m_StartTime=SysTime;<br>m_WavePlay.SetStartTime(SysTime.wYear,SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond);//画出曲线初始时间<br>this->m_CurrentSysTime.SetFocus();<br>}
2.2网络中的数据传输与监控实现基于网络的远程控制和测量应用中,一般数据传输采用二进制格式是主丛式,在人工气候室的远程监控系统中,通信双方需要传输的数据流量少,下位机一般是微控制器等嵌入式系统,数据处理能力较慢,通信双方也不必保持紧密联系,因此大多采用UDP协议,基于点对点的方式,双方通信的数据可靠性可以通过定义数据表示格式来保证。另外采用把通过网络传输过来的数据在客户端用曲线的形式重画显示,用了一个本人自做的一个ActiveX控件来显示接收的数据,在数据传输过程中存在的滞后时间很短,可以忽略不计。在设备运行时,服务器端的状态一直保持开启,测温元件把测量到的温度值传入到控制微机,同时通过网络传到远程客户端,远程连接通过输入服务器端的IP地址,输入指定的用户名和密码,就可以连接上,从而就实现了远程监控。建立连接后客户端就可以接收发送过来的温度值且用曲线形式显示出来: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控件画出温度曲线
完成后通过远程登录看到的运行界面
C P U Intel i5 750(盒) 1400散热器 盒装
主 板 微星 P55-CD53 999
显 卡 双敏 无极HD5750 DDR5 大牛版 799
内 存 金士顿 2G DDR3 1333 X2 560
硬 盘 希捷 500GB 7200.12 16M(串口/散) 350
显示器 长城 G228 999
机 箱 金河田 银尔系列F3 245
电 源 康舒 Ipower 510W 499
鼠 标 罗技 G1游戏键鼠套装 185
合计 5947元
C P U Intel i5 750(盒) 1400
散热器 盒装
主 板 微星 P55-CD53 999
显 卡 双敏 无极HD5750 DDR5 大牛版 799
内 存 金士顿 2G DDR3 1333 X2 560
硬 盘 希捷 500GB 7200.12 16M(串口/散) 350
显示器 长城 G228 999
箱 金河田 银尔系列F3 245
电 源 康舒 Ipower 510W 499
鼠 标 罗技 G1游戏键鼠套装 185
合计 5947元
这2款配置做服务器绝对没问题
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)