summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-10-29 22:38:36 +0100
committerGitHub <noreply@github.com>2020-10-29 22:38:36 +0100
commitf6f38ac08621753e9f0f5cc5f75164abacdfb817 (patch)
treec825285e65c2122731749d0c0ba8f2ce435ddb3c
parent9ab6cef2ad1b6a3fa6a17950ff8e5a8570f208e2 (diff)
parent25777488fdef29e099bd7112d592a22beb8f9ba8 (diff)
Merge pull request #42811 from Calinou/doc-packetpeerudp-wait-interrupt
Document how to interrupt `PacketPeerUDP.wait()`
-rw-r--r--doc/classes/PacketPeerUDP.xml14
1 files changed, 13 insertions, 1 deletions
diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml
index 668655b725..cab821b4c0 100644
--- a/doc/classes/PacketPeerUDP.xml
+++ b/doc/classes/PacketPeerUDP.xml
@@ -25,7 +25,7 @@
</argument>
<description>
Calling this method connects this UDP peer to the given [code]host[/code]/[code]port[/code] pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to [method set_dest_address] are not allowed). This method does not send any data to the remote peer, to do that, use [method PacketPeer.put_var] or [method PacketPeer.put_packet] as usual. See also [UDPServer].
- Note: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information.
+ [b]Note:[/b] Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information.
</description>
</method>
<method name="get_packet_ip" qualifiers="const">
@@ -123,6 +123,18 @@
</return>
<description>
Waits for a packet to arrive on the listening port. See [method listen].
+ [b]Note:[/b] [method wait] can't be interrupted once it has been called. This can be worked around by allowing the other party to send a specific "death pill" packet like this:
+ [codeblock]
+ # Server
+ socket.set_dest_address("127.0.0.1", 789)
+ socket.put_packet("Time to stop".to_ascii())
+
+ # Client
+ while socket.wait() == OK:
+ var data = socket.get_packet().get_string_from_ascii()
+ if data == "Time to stop":
+ return
+ [/codeblock]
</description>
</method>
</methods>