设为首页 加入收藏

TOP

利用WinSock进行无连接的通信
2014-11-23 20:10:12 来源: 作者: 【 】 浏览:22
Tags:利用 WinSock 进行 连接 通信

WinSock提供了对UDP(用户数据报协议)的支持,通过UDP协议我们可以向指定IP地址的主机发送数据,同时也可以从指定IP地址的主机接收数据,发送和接收方处于相同的地位没有主次之分。利用CSocket操纵无连接的数据发送很简单,首先生成一个本地套接口(需要指明SOCK_DGRAM标记),然后利用
int CAsyncSocket::SendTo( const void* lpBuf, int nBufLen, UINT nHostPort, LPCTSTR lpszHostAddress = NULL, int nFlags = 0 )发送数据,
int CAsyncSocket::ReceiveFrom( void* lpBuf, int nBufLen, CString& rSocketAddress, UINT& rSocketPort, int nFlags = 0 )接收数据。函数调用顺序
如图 aspectratio="t"> vc/62_g1.gif" src="./0041.files/image001.gif">

利用UDP协议发送和接收都可以是双向的,就是说任何一个主机都可以发送和接收数据。但是UDP协议是无连接的,所以发送的数据不一定能被接收,此外接收的顺序也有可能与发送顺序不一致。下面是相关代码:

/*
    
发送方在端口6800上向接收方端口6801发送数据
     
*/
    
//发送方代码:
    
BOOL CMy62_s1_clientDlg::OnInitDialog()
    
{
    
         CDialog::OnInitDialog();
    
 
    
         //创建本地套接口
    
         m_sockSend.Create(6800,SOCK_DGRAM,NULL);
    
         //绑定本地套接口
    
         m_sockSend.Bind(6800,"127.0.0.1");
    
         //创建一个定时器定时发送
    
         SetTimer(1,3000,NULL);
    
...
    
}
    
void CMy62_s1_clientDlg::OnTimer(UINT nIDEvent) 
    
{
    
         static iIndex=0;
    
         char szSend[20];
    
         sprintf(szSend,"%010d",iIndex++);
    
         //发送UDP数据
    

		
    
		
	
    
<script type="text/java script">BAIDU_CLB_fillSlot("771048");
点击复制链接 与好友分享! 回本站首页
<script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); }
分享到: 更多
<script type="text/java script" id="bdshare_js" data="type=tools&uid=12732"> <script type="text/java script" id="bdshell_js"> <script type="text/java script"> var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}}; document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000)
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MFC和Win32 下一篇利用WinSock进行有连接的通信

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: