2020-05-23 01:11:46 +08:00
|
|
|
#include "include.h"
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
/*
|
|
|
|
class TCPSocket
|
2020-05-24 05:24:13 +08:00
|
|
|
constructor(nonblocking: boolean)
|
2020-05-23 01:11:46 +08:00
|
|
|
close()
|
2020-05-24 05:24:13 +08:00
|
|
|
setblocking(nonblocking: boolean)
|
2020-05-23 01:11:46 +08:00
|
|
|
listen([ip: string], port: int, [backlog: int]) Address default to 0.0.0.0, backlog default to 10.
|
|
|
|
|
|
|
|
# Blocking mode: All non-expected error will be raised as exception.
|
|
|
|
connect(ip: string, port: int)
|
|
|
|
accept(): TCPSocket PeerIP PeerPort
|
|
|
|
send(data: string) All data will be sent before return.
|
|
|
|
recv([maxsize: int]): string. Default to 4KB.
|
|
|
|
|
|
|
|
# Non-blocking mode:
|
|
|
|
connect(ip: string, port: int)
|
|
|
|
accept(): (TCPSocket PeerIP PeerPort) or nil
|
|
|
|
send(data: string)
|
|
|
|
recv([maxsize: int]): string
|
|
|
|
*/
|
2020-05-24 05:24:13 +08:00
|
|
|
|
|
|
|
class TCPSocket
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
int fd;
|
|
|
|
bool nonblocking;
|
|
|
|
std::vector<char> data;
|
|
|
|
int buffsz;
|
|
|
|
};
|