Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions coapthon/client/helperclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from coapthon.client.coap import CoAP
from coapthon.messages.request import Request
from coapthon.utils import generate_random_token
import socket

__author__ = 'Giacomo Tanganelli'

Expand All @@ -30,7 +31,13 @@ def __init__(self, server, sock=None, cb_ignore_read_exception=None, cb_ignore_w
:param cb_ignore_read_exception: Callback function to handle exception raised during the socket read operation
:param cb_ignore_write_exception: Callback function to handle exception raised during the socket write operation
"""
self.server = server
# bug fix:check if host is a domain, if true, convert server domain into ip
server_ip = socket.getaddrinfo(server[0], None)[0][4][0]
if server_ip == server[0]:
self.server = server
else:
self.server = (server_ip, server[1])

self.protocol = CoAP(self.server, random.randint(1, 65535), self._wait_response, sock=sock,
cb_ignore_read_exception=cb_ignore_read_exception, cb_ignore_write_exception=cb_ignore_write_exception)

Expand Down Expand Up @@ -297,4 +304,12 @@ def mk_request(self, method, path):
request.uri_path = path
return request


# feature update : ping
def ping(self):
"""
send a CON empty message to server to trigger RST response (CoAP ping)
"""
empty = Request()
empty.destination = self.server
empty.type = 0
self.send_empty(empty)