-
Notifications
You must be signed in to change notification settings - Fork 79
Open
Description
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
Labels
No labels