(-)send.asp //asp网页代码
-------------------------------------------------------------------
<%
lht="通过测试" //发送内容
set sock=server.CreateObject("mswinsock.winsock") //调用WINSOCK
sock.Protocol="1" //设置为UDP协议,0为TCP
sock.RemoteHost="127.0.0.1" //远程IP
sock.RemotePort="8000" //远程端口
sock.SendData lht //发送数据
%>
------------------------------------------------
(二)VC++应用程序 (udprDlg.h udprDlg.cpp)
1,使用对话框,在对话框中加入一WINSOCK控件,设置协议为UDP,变量名为m_sock;
调用WINSOCK自带的消息函数:afx_msg void OnDataArrivalWinsock1(long
bytesTotal);
2,加入一字符串编辑框用于显示,变量名为m_edit;
3,在头文件udprDlg.h中加入以下语名:
VARIANT udpport;//以下定义结构变量
VARIANT udpip;
CString strudpip;
CString strudpport;
VARIANT
vtCommand;
CString m_command;
CString m_strudp;
VARIANT vtData;
VARIANT vtType;
VARIANT vtMaxlen;
4,在udprDlg.cpp文件构造函数CUdprDlg::CUdprDlg(CWnd*
pParent /*=NULL*/)
: CDialog(CUdprDlg::IDD, pParent)中加入:
udpip.vt=VT_BSTR; //结构与字符串关联
udpport.vt=VT_BSTR;
strudpport="8000";
strudpip="127.0.0.1";
vtCommand.vt=VT_BSTR;
m_command="";
vtData.vt=VT_BSTR;
vtData.bstrVal=m_strudp.AllocSysString();
vtType.vt=VT_ERROR;
vtCommand.bstrVal=m_command.AllocSysString();
5,在udprDlg.cpp文件OnInitDialog()函数中加入:
udpip.bstrVal=strudpip.AllocSysString();//初始他UDP
udpport.bstrVal=strudpport.AllocSysString();
m_sock.Bind(udpport,
udpip); //本地UDP绑定
6,UDP接收函数
void CUdprDlg::OnDataArrivalWinsock1(long bytesTotal)
{
// TODO: Add
your control notification handler code here
vtMaxlen.vt=VT_I2;
vtMaxlen.lVal=bytesTotal;
m_sock.GetData(&vtData,vtType,vtMaxlen);
m_edit=vtData.bstrVal;
UpdateData(false);
}
---------------------------------------------------------
(三)本程序在WINXP,VC++6.0环境下成功运行,WINSOCK控件是系统自带,可通过VC++插入控件自动添加,凡属类向导自动添加的语句并没列出.对VC++熟悉的朋友不难理解.