Skip to content

client not reply ACK ,server repeat send data. help me. thanks #79

@cwf689

Description

@cwf689

server code:
private CoAP.Server.CoapServer? coapServer;
private CoAPEndPoint _endpoint;
private string ResourceUri = "zhzf";
public void Open(int? port = null, string? Uri = null)
{

    _endpoint = new CoAPEndPoint(new IPEndPoint(IPAddress.Any, 5683));
    _endpoint.SendingResponse += SendingResponseDo;
    _endpoint.ReceivingResponse += ReceivingResponseDo;
    //------------------------------------
    coapServer = new CoapServer();
    coapServer.AddEndPoint(_endpoint);
    coapServer.Add(new TimeResource());
    //------------------------------------
    coapServer.Start();

}


public void SendDataToClient(byte[] data)
{
    IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
    IPEndPoint clientEndpoint = new IPEndPoint(ipAddress, 5684);
    var request = new Request(Method.POST);
	request.Type = MessageType.CON;
    request.SetPayload(data, MediaType.ApplicationOctetStream);


    request.Destination = clientEndpoint;     
    _endpoint.SendRequest(request);

}
    private void SendingResponseDo(object? sender, MessageEventArgs<Response> e)
    {
        Debug.WriteLine($"{DateTime.Now},.StatusCode={e.Message.StatusCode},PayloadString={e.Message.PayloadString}");

    }
    private void ReceivingResponseDo(object? sender, MessageEventArgs<Response> e)
    {
        Debug.WriteLine($"{DateTime.Now},.StatusCode={e.Message.StatusCode}");
    }

}

Client code:
public class Coap_Client
{
private CoAPEndPoint _endpoint;
private CoapClient client;
public void Open()
{
_endpoint = new CoAPEndPoint(new IPEndPoint(IPAddress.Any, 5684));

     _endpoint.ReceivingRequest += ReceivingRequestDo;
     _endpoint.Start();
     //-----------------------------------------------------
 }
 public void ReceivingRequestDo(object? sender, MessageEventArgs<Request> e)
 {
     if (e == null)
     {
         // timeout
         //return null;
     }
     else
     {
         // success
         Debug.WriteLine($"{DateTime.Now},receive server data:PayloadString={e.Message.PayloadString};{e.Message.UriPath}的Source={e.Message.Source}");
         //return response.Payload;
     }
 }

}

question:server use SendDataToClient,Wireshark find:client not reply ACK ,server repeat send data. and client received server data. i use CoAP.NET 1.0.4,is newest,server and client in same pc

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions