update Socket interface
This commit is contained in:
parent
ee0b745769
commit
4aacd130ab
@ -102,9 +102,9 @@ static inline int connectsocket(
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int recvsocket(
|
static inline int recvsocket(
|
||||||
int descriptor, char* buf, size_t len, int flags
|
int descriptor, char* buf, size_t len
|
||||||
) noexcept {
|
) noexcept {
|
||||||
return recv(descriptor, buf, len, flags);
|
return recv(descriptor, buf, len, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int sendsocket(
|
static inline int sendsocket(
|
||||||
@ -146,8 +146,8 @@ public:
|
|||||||
freeaddrinfo(addr);
|
freeaddrinfo(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
int recv(char* buffer, size_t length, bool blocking) override {
|
int recv(char* buffer, size_t length) override {
|
||||||
int len = recvsocket(descriptor, buffer, length, blocking ? MSG_WAITALL : MSG_DONTWAIT);
|
int len = recvsocket(descriptor, buffer, length);
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
int err = errno;
|
int err = errno;
|
||||||
close();
|
close();
|
||||||
|
|||||||
@ -26,7 +26,7 @@ namespace network {
|
|||||||
|
|
||||||
class Socket {
|
class Socket {
|
||||||
public:
|
public:
|
||||||
virtual int recv(char* buffer, size_t length, bool blocking) = 0;
|
virtual int recv(char* buffer, size_t length) = 0;
|
||||||
virtual int send(const char* buffer, size_t length) = 0;
|
virtual int send(const char* buffer, size_t length) = 0;
|
||||||
virtual void close() = 0;
|
virtual void close() = 0;
|
||||||
virtual bool isOpen() const = 0;
|
virtual bool isOpen() const = 0;
|
||||||
|
|||||||
@ -24,7 +24,7 @@ TEST(curltest, curltest) {
|
|||||||
socket->send(string, strlen(string));
|
socket->send(string, strlen(string));
|
||||||
char data[1024];
|
char data[1024];
|
||||||
|
|
||||||
int len = socket->recv(data, 1024, true);
|
int len = socket->recv(data, 1024);
|
||||||
std::cout << len << " " << std::string(data, len) << std::endl;
|
std::cout << len << " " << std::string(data, len) << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user