SctpNatServer¶
Package: inet.applications.sctpapp
simple module SctpNatServer
Implements a rendezvous server for SCTP NAT traversal. Facilitates communication between peers behind NAT devices by maintaining connection information and exchanging address details between peers. Handles multi-homed connections and processes address addition notifications. Enables direct peer-to-peer communication by providing each peer with the necessary connection details of the other peer.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for all INET simple modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
localAddress |
string |
“” |
May be left empty (“”) |
localPort |
int |
0 |
Port number to listen on |
numPacketsToSendPerClient |
int |
0 |
Number of requests sent per session |
numPacketsToReceivePerClient |
int |
1 |
|
requestLength |
int |
1452 |
Length of a request (bytes) |
waitToClose |
double |
0s |
Time to wait between last message sent and abort |
outboundStreams |
int |
1 |
|
inboundStreams |
int |
1 |
|
ordered |
bool |
true |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
SctpNatServer |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
socketIn |
input |
||
socketOut |
output |
Source code¶
//
// Implements a rendezvous server for SCTP NAT traversal. Facilitates
// communication between peers behind NAT devices by maintaining connection
// information and exchanging address details between peers. Handles multi-homed
// connections and processes address addition notifications. Enables direct
// peer-to-peer communication by providing each peer with the necessary
// connection details of the other peer.
//
simple SctpNatServer extends SimpleModule like IApp
{
parameters:
@class(SctpNatServer);
string localAddress = default(""); // May be left empty ("")
int localPort = default(0); // Port number to listen on
int numPacketsToSendPerClient = default(0); // Number of requests sent per session
int numPacketsToReceivePerClient = default(1);
int requestLength = default(1452); // Length of a request (bytes)
double waitToClose @unit(s) = default(0s); // Time to wait between last message sent and abort
int outboundStreams = default(1);
int inboundStreams = default(1);
bool ordered = default(true);
gates:
input socketIn;
output socketOut;
}