В C # я пытаюсь получить IP-адрес клиента CoAP.Это вообще возможно?Я попытался найти получаемый объект обмена, но не могу найти IP-адрес.
Клиент
class Program
{
private static string _port = "5683";
static void Main(string[] args)
{
Request request = new Request(Method.GET);
Uri uri = new Uri("coap://127.0.0.1:" + _port + "/" + "Test");
request.URI = uri;
byte[] payload = Encoding.ASCII.GetBytes("test");
request.Payload = payload;
request.Send();
// wait for one response
Response response = request.WaitForResponse();
Debug.WriteLine(response);
}
}
Сервер
public Task<string> OpenAsync(CancellationToken cancellationToken)
{
try
{
_server = new CoapServer(_port);
_server.Add(new MessageResource(_path);
_server.Start();
} catch (Exception ex)
{
throw;
}
}
Ресурс сообщения (используется для сервера)
public class MessageResource : CoAP.Server.Resources.Resource
{
public MessageResource(string path) : base(path)
{
}
protected async override void DoGet(CoapExchange exchange)
{
try
{
var payload = exchange.Request.Payload;
if (payload != null)
{
exchange.Respond(payloadString);
} else
{
throw new Exception("Payload is null. No actor has been made.");
}
}
catch (Exception ex)
{
throw;
}
}
}
Как видите, я хотел бы получить IP-адресклиент, который отправил сообщение.Я попытался проверить все свойства объекта обмена, но не могу найти IP-адрес, который могу использовать.