• 大小: 1.34MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-04
  • 语言: 其他
  • 标签: cvi  tcp  udp  

资源简介

该文件包含Labwindows/cvi TCP和UDP通信的实例程序

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include “uir.h“

static int panelHandle;
static int TCPConnectStatus=0;     //TCP连接状态,1代表连接,0代表无连接
static unsigned int conversationHandle;   //TCP连接句柄

int TCPClientCB(unsigned int handleint xTypeint errCodevoid *callbackData);  //客户端回调函数

int main (int argc char *argv[])
{
if (InitCVIRTE (0 argv 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0 “uir.uir“ PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);

DisableBreakOnLibraryErrors ();

RunUserInterface ();
if(TCPConnectStatus==1) //此处处理本程序内部因素导致的连接中断,例如关闭面板
{
  DisconnectFromTCPServer (conversationHandle);
}
DiscardPanel (panelHandle);
return 0;
}

int CVICALLBACK quitCB (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}
return 0;
}

int CVICALLBACK connect (int panel int control int event
void *callbackData int eventData1 int eventData2)
{   
char IPaddress[50];      //IP地址
char portnumberstring[10];   //端口号
int portnumber;           //端口号
int status;
switch (event)
{
case EVENT_COMMIT:
   GetCtrlVal(panelHandlePANEL_STRINGIPaddress);
   GetCtrlVal(panelHandlePANEL_STRING_2portnumberstring);
   Fmt(& portnumber“%i<%s“portnumberstring);
   status = ConnectToTCPServer (& conversationHandle portnumber IPaddress TCPClientCB 0 0);

   if(status==0)   //连接成功
   {
 TCPConnectStatus=1;      //设置TCP连接状态
 SetCtrlAttribute (panelHandle PANEL_COMMANDBUTTON_2 ATTR_DIMMED 1);    //连接按钮变灰 
   }
   else   //连接失败
   {
     MessagePopup (“TCP连接“ “连接失败!“);
   }


break;
}
return 0;
}
// TCP客户端回调函数
int TCPClientCB(unsigned int handleint xTypeint errCodevoid *callbackData)
{
double data[1];
    switch(xType)
{
case TCP_DISCONNECT:    //此情况处理外部因素导致的断开连接
TCPConnectStatus=0;    //设置TCP连接状态为无
SetTCPDisconnectMode (conversationHandle TCP_DISCONNECT_AUTO);     //默认也是自动关闭
SetCtrlAttribute (panelHandle PANEL_COMMANDBUTTON_2 ATTR_DIMMED 0);    //连接按钮enable 

break;
case TCP_DATAREADY:

ClientTCPRead (conversationHandle data 8 0);
PlotStripChart (panelHandle PANEL_STRIPCHART data 1 0 0 VAL_DOUBLE);
break;
}

  return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1918  2014-10-25 22:15  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\cvibuild.tcp\build.ini

     文件     559104  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\cvibuild.tcp\Debug\tcp.exe

     文件          4  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\cvibuild.tcp\dependencies.bri

     文件     298036  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\cvibuild.tcp\resources.res

     文件      92646  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\cvibuild.tcp\uir.nidobj

     文件     884610  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\tcp.cdb

     文件       3106  2014-10-25 22:15  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\tcp.cws

     文件     559104  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\tcp.exe

     文件       4647  2014-10-25 16:12  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\tcp.prj

     文件       2604  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\uir.c

     文件       1637  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\uir.h

     文件       3912  2014-10-25 22:06  Labwindow_cvi TCP UDP通信\TCP通讯\TCP客户端\uir.uir

     文件       1827  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\cvibuild.tcp\build.ini

     文件     564224  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\cvibuild.tcp\Debug\tcp.exe

     文件          4  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\cvibuild.tcp\dependencies.bri

     文件     298036  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\cvibuild.tcp\resources.res

     文件     127033  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\cvibuild.tcp\uir.nidobj

     文件     918041  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\tcp.cdb

     文件       3108  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\tcp.cws

     文件     564224  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\tcp.exe

     文件       4647  2014-10-25 17:46  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\tcp.prj

     文件       4081  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\uir.c

     文件       2090  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\uir.h

     文件       4432  2014-10-25 22:14  Labwindow_cvi TCP UDP通信\TCP通讯\TCP服务器\uir.uir

     文件       1148  2014-10-30 17:58  Labwindow_cvi TCP UDP通信\UDP通讯\UDP_Read\cvibuild.UDPRead\build.ini

     文件     560640  2014-10-30 17:35  Labwindow_cvi TCP UDP通信\UDP通讯\UDP_Read\cvibuild.UDPRead\Debug\UDPRead.exe

     文件          4  2014-10-30 17:35  Labwindow_cvi TCP UDP通信\UDP通讯\UDP_Read\cvibuild.UDPRead\dependencies.bri

     文件      94103  2014-10-30 17:35  Labwindow_cvi TCP UDP通信\UDP通讯\UDP_Read\cvibuild.UDPRead\Read.nidobj

     文件     298160  2014-10-30 17:35  Labwindow_cvi TCP UDP通信\UDP通讯\UDP_Read\cvibuild.UDPRead\resources.res

     文件      92099  2014-10-30 11:01  Labwindow_cvi TCP UDP通信\UDP通讯\UDP_Read\cvibuild.UDPRead\Write.nidobj

............此处省略38个文件信息

评论

共有 条评论