blob: c3a7710ca923ee2c9293f49f7ad1e5d737c60bd2 [file] [log] [blame]
Brianc9f64552014-04-02 19:44:09 -07001#include "aos/common/network/receive_socket.h"
2
brians343bc112013-02-10 01:53:46 +00003#include <string.h>
4#include <math.h>
5#include <errno.h>
6#include <stdint.h>
7#include <stddef.h>
Brianc9f64552014-04-02 19:44:09 -07008#include <sys/socket.h>
brians343bc112013-02-10 01:53:46 +00009
Brian Silverman598800f2013-05-09 17:08:42 -070010#include "aos/common/logging/logging.h"
brians343bc112013-02-10 01:53:46 +000011
12namespace aos {
Brianc9f64552014-04-02 19:44:09 -070013namespace network {
brians343bc112013-02-10 01:53:46 +000014
15static const char *localhost = "0.0.0.0";
16
17int ReceiveSocket::Connect(NetworkPort port) {
18 Reset();
19 const int ret = Socket::Connect(port, localhost);
20 if (ret != 0) {
21 return ret;
22 }
23
Brian Silvermana9cbe302013-03-12 18:41:44 -070024 if (bind(socket_, &addr_.addr,
brians343bc112013-02-10 01:53:46 +000025 sizeof(addr_)) == -1) {
Brian Silverman01be0002014-05-10 15:44:38 -070026 PLOG(ERROR, "failed to bind to address '%s'", localhost);
brians343bc112013-02-10 01:53:46 +000027 return last_ret_ = -1;
Brian Silvermana9cbe302013-03-12 18:41:44 -070028 }
brians343bc112013-02-10 01:53:46 +000029 return last_ret_ = 0;
30}
31
Brianc9f64552014-04-02 19:44:09 -070032} // namespace network
33} // namespace aos