ProtocolAddressBuilder(String, String, Int32) Constructor |
Constructs a new protocol address builder with the specified scheme, host and port.
Namespace: Demo3D.NetAssembly: Demo3D.IO (in Demo3D.IO.dll) Version: 19.00.00
Syntaxpublic ProtocolAddressBuilder(
string scheme,
string? host,
int port
)
Parameters
- scheme String
- The protocol scheme (eg "tcp").
- host String
- The hostname (or null for a server).
- port Int32
- The port (or -1 for a protocol that doesn't support ports).
Example
var tcpClientAddress = new ProtocolAddressBuilder(TCP.Scheme, host, port).Address;
var builder = new ProtocolAddressBuilder() {
Scheme = TCP.Scheme,
Host = host,
Port = port
};
var tcpClientAddress2 = builder.Address;
var tcpServerAddress = new ProtocolAddressBuilder(TCP.Scheme, null, port).Address;
var cotpClientAddress = new ProtocolAddressBuilder(COTP.Scheme, host, -1, tsap).Address;
var modbusAddress = new ProtocolAddressBuilder("modbus", host, -1);using System;
using System.Collections;
using System.Threading.Tasks;
using Demo3D.IO;
using Demo3D.Native;
using Demo3D.Net;
using Demo3D.Net.Protocols;
using Demo3D.Visuals;
namespace Examples.Net.TcpClientDataNotifierExample {
[Auto] public class Client {
[Auto] IBuilder app;
[Auto] PrintDelegate print;
[Auto] SimplePropertyValue<string> tcpAddress;
[Auto] SimplePropertyValue<int> tcpPort;
[Auto] IEnumerable OnInitialize(Visual sender) {
yield return Connect();
}
async Task Connect() {
var address = new ProtocolAddressBuilder(TCP.Scheme, tcpAddress, tcpPort).Address;
await Client<IPacketIOService>.OpenAsync(sync: false, address, ReceiveMessage);
}
void ReceiveMessage(ProtocolSocket socket, object service, NotifyDataChangedEventArgs e) {
try {
var args = (PacketChangedEventArgs)e;
var message = args.GetData();
HandleMessage(message);
}
catch (Exception x) {
socket.Close(x);
}
}
void HandleMessage(in BufferSegment message) {
print("Message received: " + message.Length + " bytes");
}
}
}
See Also