mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-09 23:36:04 +00:00
problem: ws_transport is missing the path the endpoint name
This commit is contained in:
parent
071ec1a9bb
commit
652834296b
@ -67,7 +67,7 @@ zmq::ws_address_t::ws_address_t (const sockaddr *sa_, socklen_t sa_len_)
|
|||||||
&& sa_len_ >= static_cast<socklen_t> (sizeof (_address.ipv6)))
|
&& sa_len_ >= static_cast<socklen_t> (sizeof (_address.ipv6)))
|
||||||
memcpy (&_address.ipv6, sa_, sizeof (_address.ipv6));
|
memcpy (&_address.ipv6, sa_, sizeof (_address.ipv6));
|
||||||
|
|
||||||
_path = std::string ("/");
|
_path = std::string ("");
|
||||||
|
|
||||||
char hbuf[NI_MAXHOST];
|
char hbuf[NI_MAXHOST];
|
||||||
const int rc = getnameinfo (addr (), addrlen (), hbuf, sizeof (hbuf), NULL,
|
const int rc = getnameinfo (addr (), addrlen (), hbuf, sizeof (hbuf), NULL,
|
||||||
@ -130,7 +130,7 @@ int zmq::ws_address_t::to_string (std::string &addr_) const
|
|||||||
{
|
{
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
os << std::string ("ws://") << host () << std::string (":")
|
os << std::string ("ws://") << host () << std::string (":")
|
||||||
<< _address.port ();
|
<< _address.port () << _path;
|
||||||
addr_ = os.str ();
|
addr_ = os.str ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -124,10 +124,14 @@ void zmq::ws_listener_t::in_event ()
|
|||||||
std::string zmq::ws_listener_t::get_socket_name (zmq::fd_t fd_,
|
std::string zmq::ws_listener_t::get_socket_name (zmq::fd_t fd_,
|
||||||
socket_end_t socket_end_) const
|
socket_end_t socket_end_) const
|
||||||
{
|
{
|
||||||
if (_wss)
|
std::string socket_name;
|
||||||
return zmq::get_socket_name<wss_address_t> (fd_, socket_end_);
|
|
||||||
|
|
||||||
return zmq::get_socket_name<ws_address_t> (fd_, socket_end_);
|
if (_wss)
|
||||||
|
socket_name = zmq::get_socket_name<wss_address_t> (fd_, socket_end_);
|
||||||
|
else
|
||||||
|
socket_name = zmq::get_socket_name<ws_address_t> (fd_, socket_end_);
|
||||||
|
|
||||||
|
return socket_name + _address.path ();
|
||||||
}
|
}
|
||||||
|
|
||||||
int zmq::ws_listener_t::create_socket (const char *addr_)
|
int zmq::ws_listener_t::create_socket (const char *addr_)
|
||||||
|
@ -46,7 +46,7 @@ int zmq::wss_address_t::to_string (std::string &addr_) const
|
|||||||
{
|
{
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
os << std::string ("wss://") << host () << std::string (":")
|
os << std::string ("wss://") << host () << std::string (":")
|
||||||
<< _address.port ();
|
<< _address.port () << path ();
|
||||||
addr_ = os.str ();
|
addr_ = os.str ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -41,7 +41,6 @@ void test_roundtrip ()
|
|||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/roundtrip"));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/roundtrip"));
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (
|
TEST_ASSERT_SUCCESS_ERRNO (
|
||||||
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
||||||
strcat (connect_address, "/roundtrip");
|
|
||||||
|
|
||||||
void *sc = test_context_socket (ZMQ_REQ);
|
void *sc = test_context_socket (ZMQ_REQ);
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
||||||
@ -79,7 +78,6 @@ void test_heartbeat ()
|
|||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/heartbeat"));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/heartbeat"));
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (
|
TEST_ASSERT_SUCCESS_ERRNO (
|
||||||
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
||||||
strcat (connect_address, "/heartbeat");
|
|
||||||
|
|
||||||
void *sc = test_context_socket (ZMQ_REQ);
|
void *sc = test_context_socket (ZMQ_REQ);
|
||||||
|
|
||||||
@ -113,7 +111,6 @@ void test_short_message ()
|
|||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/short"));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/short"));
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (
|
TEST_ASSERT_SUCCESS_ERRNO (
|
||||||
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
||||||
strcat (connect_address, "/short");
|
|
||||||
|
|
||||||
void *sc = test_context_socket (ZMQ_REQ);
|
void *sc = test_context_socket (ZMQ_REQ);
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
||||||
@ -147,7 +144,6 @@ void test_large_message ()
|
|||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/large"));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/large"));
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (
|
TEST_ASSERT_SUCCESS_ERRNO (
|
||||||
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
||||||
strcat (connect_address, "/short");
|
|
||||||
|
|
||||||
void *sc = test_context_socket (ZMQ_REQ);
|
void *sc = test_context_socket (ZMQ_REQ);
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
||||||
@ -197,8 +193,6 @@ void test_curve ()
|
|||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (server, "ws://*:*/roundtrip"));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (server, "ws://*:*/roundtrip"));
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_getsockopt (server, ZMQ_LAST_ENDPOINT,
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_getsockopt (server, ZMQ_LAST_ENDPOINT,
|
||||||
connect_address, &addr_length));
|
connect_address, &addr_length));
|
||||||
strcat (connect_address, "/roundtrip");
|
|
||||||
|
|
||||||
|
|
||||||
void *client = test_context_socket (ZMQ_REQ);
|
void *client = test_context_socket (ZMQ_REQ);
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (
|
TEST_ASSERT_SUCCESS_ERRNO (
|
||||||
@ -224,7 +218,6 @@ void test_mask_shared_msg ()
|
|||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/mask-shared"));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/mask-shared"));
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (
|
TEST_ASSERT_SUCCESS_ERRNO (
|
||||||
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
|
||||||
strcat (connect_address, "/mask-shared");
|
|
||||||
|
|
||||||
void *sc = test_context_socket (ZMQ_DEALER);
|
void *sc = test_context_socket (ZMQ_DEALER);
|
||||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user