public static void Connect(Loop loop, IPAddress ipAddress, int port, Action<Exception, Tcp> callback) { Ensure.ArgumentNotNull(loop, "loop"); Ensure.ArgumentNotNull(ipAddress, "ipAddress"); Ensure.ArgumentNotNull(callback, "callback"); ConnectRequest cpr = new ConnectRequest(); Tcp socket = new Tcp(loop); cpr.Callback = (status, cpr2) => { if (status == 0) { callback(null, socket); } else { socket.Close(); callback(Ensure.Success(loop), null); } }; int r; if (ipAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { r = uv_tcp_connect(cpr.Handle, socket.handle, UV.uv_ip4_addr(ipAddress.ToString(), port), CallbackPermaRequest.StaticEnd); } else { r = uv_tcp_connect6(cpr.Handle, socket.handle, UV.uv_ip6_addr(ipAddress.ToString(), port), CallbackPermaRequest.StaticEnd); } Ensure.Success(r, loop); }
// LibuvSharp Tcp Client public static async Task LoopClient() { using (var client = new Tcp()) { await client.ConnectAsync(Default.IPEndPoint); await client.WriteAsync("Hello World from LibuvSharp!"); } }
public static async Task Client() { try { using (var client = new Tcp()) { await client.ConnectAsync(Default.IPEndPoint); client.Write("Labas Pasauli!"); var str = await client.ReadStringAsync(); Console.WriteLine("From Server: {0}", str); } } catch (Exception e) { Console.WriteLine("Client Exception:"); Console.WriteLine(e); } }
public void Send(Loop loop, Tcp socket, int offset, int length, Action <Exception, int> callback) { var fsr = new FileSystemRequest(); fsr.Callback = (ex, fsr2) => { if (callback != null) { callback(ex, (int)fsr.Result); } ; }; int r = uv_fs_sendfile(loop.Handle, fsr.Handle, socket.handle, FileHandle, offset, length, FileSystemRequest.StaticEnd); Ensure.Success(r, loop); }
public static async Task Client() { try { var client = new Tcp(); await client.ConnectAsync(ep); client.Write(Encoding.ASCII, "Labas Pasauli!"); var str = await client.ReadStringAsync(); Console.WriteLine("From Server: {0}", str); client.Shutdown(); } catch (Exception e) { Console.WriteLine("Client Exception:"); Console.WriteLine(e); } }
public void Connect(IPEndPoint ipEndPoint, IrcUserRegistrationInfo registrationInfo) { Connect(registrationInfo); if (Client == null) { Client = new Tcp(Loop); } Client.Connect(ipEndPoint, (ex) => { isConnected = true; HandleClientConnected(registrationInfo); Client.Data += OnRead; Client.Resume(); }); HandleClientConnecting(); }
public void Send(Tcp socket, int offset, int length, Action<Exception, int> callback) { Send(Loop.Default, socket, offset, length, callback); }
public void Send(Loop loop, Tcp socket, int offset, int length, Action<Exception, int> callback) { var fsr = new FileSystemRequest(); fsr.Callback = (ex, fsr2) => { if (callback != null) { callback(ex, (int)fsr.Result); }; }; int r = uv_fs_sendfile(loop.Handle, fsr.Handle, socket.handle, FileHandle, offset, length, FileSystemRequest.StaticEnd); Ensure.Success(r, loop); }
public void Send(Tcp socket, int offset, int length, Action <Exception, int> callback) { Send(Loop.Default, socket, offset, length, callback); }
public static Tcp Open(Loop loop, IntPtr nativeHandle) { Tcp socket = new Tcp(loop); uv_tcp_open(socket.handle, nativeHandle); return socket; }