A participant using UDP communication.
A local participant is the local device which can communicate with other participants It manages all local things and communcation with other participants. Each application has a local participant which is usually explicit in the code. An participant can be isolated. In that case it is standalong and does not communicate with other participants.
It is possible to work with an hidden participant by creating things without specifying a participant in the constructor. In that case an hidden isolated participant is created which can be obtained using RoboidControl::IsolatedParticipant::Isolated().
- See also
- RoboidControl::Thing::Thing()
|
| ParticipantUDP (int port=0) |
| Create a participant without connecting to a site.
|
|
| ParticipantUDP (string ipAddress, int port=7681, int localPort=7681) |
| Create a participant which will try to connect to a site.
|
|
override void | Update (ulong currentTimeMS=0) |
| Update all things for this participant.
|
|
void | SendThingInfo (Participant owner, Thing thing) |
|
void | PublishThingInfo (Thing thing) |
|
bool | Send (Participant owner, IMessage msg) |
|
bool | Publish (IMessage msg) |
|
void | ReceiveData (byte[] data, Participant sender) |
|
Thing | Get (byte thingId) |
| Get the thing with the given properties.
|
|
void | Add (Thing thing, bool checkId=true) |
| Add a new thing for this participant.
|
|
void | Remove (Thing thing) |
| Remove a thing for this participant.
|
|
|
string | name = "ParticipantUDP" |
| The name of the participant.
|
|
bool | isIsolated = false |
| True if the participant is running isolated.
|
|
Participant | remoteSite = null |
| The remote site when this participant is connected to a site.
|
|
ulong | publishInterval = 3000 |
| The interval in milliseconds for publishing (broadcasting) data on the local network.
|
|
byte[] | buffer = new byte[1024] |
|
IPEndPoint | endPoint = null |
|
UdpClient | udpClient = null |
|
string | broadcastIpAddress = "255.255.255.255" |
|
readonly ConcurrentQueue< IMessage > | messageQueue = new ConcurrentQueue<IMessage>() |
|
string | ipAddress = "0.0.0.0" |
| The Ip Address of a participant. When the participant is local, this contains 0.0.0.0.
|
|
int | port = 0 |
| The port number for UDP communication with the participant. This is 0 for isolated participants.
|
|
byte | networkId = 0 |
| he network Id to identify the participant
|
|
readonly List< Thing > | things = new() |
| The things managed by this participant.
|
|
|
void | GetBroadcastAddress (IPAddress ip, IPAddress subnetMask) |
|
virtual void | UpdateMyThings (ulong currentTimeMS) |
|
virtual void | UpdateOtherThings (ulong currentTimeMS) |
|
void | ReceiveUDP (IAsyncResult result) |
|
virtual void | Process (Participant sender, ParticipantMsg msg) |
|
virtual void | Process (Participant sender, NetworkIdMsg msg) |
|
virtual void | Process (Participant sender, InvestigateMsg msg) |
|
virtual void | Process (Participant sender, ThingMsg msg) |
|
virtual void | Process (Participant sender, NameMsg msg) |
|
virtual void | Process (Participant sender, ModelUrlMsg msg) |
|
virtual void | Process (Participant sender, PoseMsg msg) |
|
virtual void | Process (Participant sender, BinaryMsg msg) |
|
virtual void | Process (Participant sender, TextMsg msg) |
|
virtual void | Process (Participant sender, DestroyMsg msg) |
|