-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsimple_socket.html
More file actions
132 lines (114 loc) · 7.46 KB
/
simple_socket.html
File metadata and controls
132 lines (114 loc) · 7.46 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Python: module simple_socket</title>
</head><body>
<table class="heading">
<tr class="heading-text decor">
<td class="title"> <br><strong class="title">simple_socket</strong></td>
<td class="extra"><a href=".">index</a><br><a href="file:c%3A%5Cusers%5Cnew%5Cdocuments%5Ccoding%5Cpython%5Cto_work_on%5Cwar-of-dots-%5Csimple_socket.py">c:\users\new\documents\coding\python\to_work_on\war-of-dots-\simple_socket.py</a></td></tr></table>
<p></p>
<p>
<table class="section">
<tr class="decor pkg-content-decor heading-text">
<td class="section-title" colspan=3> <br><strong class="bigsection">Modules</strong></td></tr>
<tr><td class="decor pkg-content-decor"><span class="code"> </span></td><td> </td>
<td class="singlecolumn"><table><tr><td class="multicolumn"><a href="socket.html">socket</a><br>
</td><td class="multicolumn"></td><td class="multicolumn"></td><td class="multicolumn"></td></tr></table></td></tr></table><p>
<table class="section">
<tr class="decor index-decor heading-text">
<td class="section-title" colspan=3> <br><strong class="bigsection">Classes</strong></td></tr>
<tr><td class="decor index-decor"><span class="code"> </span></td><td> </td>
<td class="singlecolumn"><dl>
<dt class="heading-text"><a href="builtins.html#object">builtins.object</a>
</dt><dd>
<dl>
<dt class="heading-text"><a href="simple_socket.html#Client">Client</a>
</dt><dt class="heading-text"><a href="simple_socket.html#Server">Server</a>
</dt></dl>
</dd>
</dl>
<p>
<table class="section">
<tr class="decor title-decor heading-text">
<td class="section-title" colspan=3> <br><a name="Client">class <strong>Client</strong></a>(<a href="builtins.html#object">builtins.object</a>)</td></tr>
<tr><td class="decor title-decor" rowspan=2><span class="code"> </span></td>
<td class="decor title-decor" colspan=2><span class="code"><a href="#Client">Client</a>(servip: str, port: int) -&gt; None<br>
<br>
A simple socket client.<br> </span></td></tr>
<tr><td> </td>
<td class="singlecolumn">Methods defined here:<br>
<dl><dt><a name="Client-__init__"><strong>__init__</strong></a>(self, servip: str, port: int) -> None</dt><dd><span class="code">Initializes the client with addr details.<br>
<br>
Args:<br>
servip (str): server ip address<br>
port (int): port</span></dd></dl>
<dl><dt><a name="Client-close"><strong>close</strong></a>(self) -> None</dt><dd><span class="code">Closes the socket</span></dd></dl>
<dl><dt><a name="Client-connect"><strong>connect</strong></a>(self) -> None</dt><dd><span class="code">Attempts to establish a connection.</span></dd></dl>
<dl><dt><a name="Client-rcv"><strong>rcv</strong></a>(self) -> bytes</dt><dd><span class="code">Receives bytes based on the header length.</span></dd></dl>
<dl><dt><a name="Client-send"><strong>send</strong></a>(self, msg: bytes) -> None</dt><dd><span class="code">Sends bytes to the server with a fixed-width header.<br>
<br>
Args:<br>
msg (bytes): The bytes to send</span></dd></dl>
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><span class="code">dictionary for instance variables</span></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><span class="code">list of weak references to the object</span></dd>
</dl>
</td></tr></table> <p>
<table class="section">
<tr class="decor title-decor heading-text">
<td class="section-title" colspan=3> <br><a name="Server">class <strong>Server</strong></a>(<a href="builtins.html#object">builtins.object</a>)</td></tr>
<tr><td class="decor title-decor" rowspan=2><span class="code"> </span></td>
<td class="decor title-decor" colspan=2><span class="code"><a href="#Server">Server</a>(ip: str, port: int) -&gt; None<br>
<br>
A simple socket server<br> </span></td></tr>
<tr><td> </td>
<td class="singlecolumn">Methods defined here:<br>
<dl><dt><a name="Server-__init__"><strong>__init__</strong></a>(self, ip: str, port: int) -> None</dt><dd><span class="code">Defines the server addr.<br>
<br>
Args:<br>
ip (str): server ip address<br>
port (int): port</span></dd></dl>
<dl><dt><a name="Server-accept"><strong>accept</strong></a>(self) -> tuple</dt><dd><span class="code">Accepts a connection. Returns a socket and an address.</span></dd></dl>
<dl><dt><a name="Server-close"><strong>close</strong></a>(self, conn: socket.socket) -> None</dt><dd><span class="code">Closes a specific connection and removes it from the list of connections.<br>
<br>
Args:<br>
conn (socket.socket): connection to remove.</span></dd></dl>
<dl><dt><a name="Server-lsn"><strong>lsn</strong></a>(self, conns: int = 0) -> None</dt><dd><span class="code">Starts listening for connections.<br>
<br>
Args:<br>
conns (int, optional): How many connections to listen for, Defaults to 0 (inf).</span></dd></dl>
<dl><dt><a name="Server-rcv"><strong>rcv</strong></a>(self, conn: socket.socket) -> bytes</dt><dd><span class="code">Receives bytes from a specific connection.<br>
<br>
Args:<br>
conn (socket.socket): connection to rcv from.<br>
<br>
Returns:<br>
bytes: the received message.</span></dd></dl>
<dl><dt><a name="Server-send"><strong>send</strong></a>(self, conns: list, msg: bytes) -> None</dt><dd><span class="code">Sends a byte message to chosen connections.<br>
<br>
Args:<br>
conns (list): connections to send to<br>
msg (bytes): message in bytes</span></dd></dl>
<dl><dt><a name="Server-start"><strong>start</strong></a>(self) -> None</dt><dd><span class="code">Starts the server.</span></dd></dl>
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><span class="code">dictionary for instance variables</span></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><span class="code">list of weak references to the object</span></dd>
</dl>
</td></tr></table></td></tr></table><p>
<table class="section">
<tr class="decor data-decor heading-text">
<td class="section-title" colspan=3> <br><strong class="bigsection">Data</strong></td></tr>
<tr><td class="decor data-decor"><span class="code"> </span></td><td> </td>
<td class="singlecolumn"><strong>FORMAT</strong> = 'utf-8'<br>
<strong>HEADER</strong> = 64</td></tr></table>
</body></html>