你服务器怎么写,客户端就怎么写,服务器发送的时候,IP和端口是客户端的,客户端发送的时候,IP和端口是服务器的。
在这里,你就只看发送和接收的话,服务器和客户端的概念很模糊,不像TCP。

解决方案 »

  1.   

    服务器 sendto客户端 recefrom
      

  2.   

       SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0);       
       int len;
       CUDPSocketDlg Client;
       addrClient.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");            addrClient.sin_family=AF_INET;                        
       Client.m_cstrAimPort=htons(3389);                  
       cstrMsg.Format(_T("%s"),m_cstrInfo);   
       sendto((UINT)sockClient,(char*)(cstrMsg.GetBuffer(10)),len,0,(sockaddr*)&addrClient,sizeof(sockaddr));
       //sendto(m_pSocket,(char*)cstrMsg,len,0,(sockaddr*)&addrClient,sizeof(sockaddr));    closesocket(sockClient);
    这样子 就可以发送程序包了吗
      

  3.   

    每一端都需要绑定一个端口和IP,调用bind函数;
    然后就可以向对方绑定的端口和IP发送数据了。
    绑定在创建socket之后在发送和接收之前进行。
      

  4.   

    while (1)
    {
    char buffer[1024]="\0";
    printf("waiting for message from others-------------\n");
    if (recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
    {
    printf("Received datagram from %s--%s\n",inet_ntoa(from.sin_addr),buffer);
    sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&from,fromlen);}
    这段程序什么意思啊
      

  5.   

    你上面的代码都没有错,但是你没有设置该套子节为广播类型,你在上面加上:
    bool opt=true;  
        //设置该套接字为广播类型,  
        setsockopt(sockClient,SOL_SOCKET,SO_BROADCAST,(char FAR *)&opt,sizeof(opt));
    就可以发送udp数据包了!你试试看!