-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSocket.py
More file actions
45 lines (33 loc) · 974 Bytes
/
Socket.py
File metadata and controls
45 lines (33 loc) · 974 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import socket
import errno
from socket import AF_INET
from socket import AF_INET6
from socket import SOCK_DGRAM
from socket import SOCK_STREAM
socketDefaultFamily = AF_INET
socketDefaultType = SOCK_STREAM
class Socket(object) :
def __init__(self, sock = socket.socket(AF_INET, SOCK_STREAM, 0)) :
self.socket_ = sock
#FIXME : closeExec
self.socket_.setblocking(False)
def bind(self, address = ('127.0.0.1', 8890)) :
self.socket_.bind(address)
def recv(self, length) :
return self.socket_.recv(length)
def send(self, buffer) :
return self.socket_.send(str(buffer))
def accept(self) :
client = self.socket_.accept()
client[0].setblocking(False)
return client
def listen(self, backlog) :
self.socket_.listen(backlog)
def getAddr(self) :
return self.socket_.getsockname()
def getPeerAddr(self) :
return self.socket_.getpeername()
def getSocketFd(self) :
return self.socket_.fileno()
def close(self) :
self.socket_.close()