本帖最后由 VisualEleven 于 2012-03-24 21:19:06 编辑

解决方案 »

  1.   

    端口设置其余不甚了解了,去找一下飞鸽传书的源码看看,里面有类似过程。
    里面有一个函数:

    UdpSend( ULONG host_addr, int port_no, const char *buf, int len )
    {
    sockaddr_in addr; memset( &addr, 0, sizeof( addr ) ); addr.sin_family = AF_INET; addr.sin_port = port_no; addr.sin_addr.s_addr = host_addr; 

    if( ::sendto( udp_sd, buf, len, 0, ( LPSOCKADDR )&addr, sizeof( addr ) ) == SOCKET_ERROR )
    {
    switch ( WSAGetLastError( ) )
    {
    case WSAENETDOWN: break; 
    case WSAEHOSTUNREACH: static BOOL done; if( done == FALSE ){ done = TRUE; } return FALSE; 
    default: return FALSE; 
    }

    if( WSockReset( ) != TRUE ){ return FALSE; } 
    if( hAsyncWnd && AsyncSelectRegist( hAsyncWnd ) != TRUE ){ return FALSE; }
    if( ::sendto( udp_sd, buf, len, 0, ( LPSOCKADDR )&addr, sizeof( addr ) ) == SOCKET_ERROR ){ return FALSE; }
    }

    return TRUE; 
    }
    你可以去查查,或者跟踪一下。
      

  2.   

    十分感谢,那个host_addr应该是输入目标IP吧,但是我这种情况,我通过子网掩码将两个IP弄到一个网段,然后利用UDP广播,为什么会收不到数据呢,我用抓包工具,监控设置的端口,也没反应!高人指点啊
      

  3.   

    http://blog.sina.com.cn/s/blog_5f18ff880101143n.html