public PingResult Send(string sAddrOrIPe) { IPAddress addr; if (IPAddress.TryParse(sAddrOrIPe, out addr)) { return(Send(addr)); } var ipe = SocketHelper.ParseEndPoint(sAddrOrIPe); return(Send(ipe)); }
protected override void DisposeInternal(bool disposing) { if (disposing) { if (_listener != null) { SocketHelper.CloseListener(ref _listener); } } _listener = null; Prepare = null; ProgressChanged = null; Completed = null; }
/// <summary> /// Listen /// </summary> /// <param name="savePath"></param> /// <param name="port"></param> public void Listen(string savePath, ushort port) { Contract.Requires(!string.IsNullOrEmpty(savePath)); if (_listener != null) { throw new ApplicationException("已启动监听"); } App.CreateDirectory(_savePath = savePath); var localIpe = new IPEndPoint(IPAddress.Any, port); //最多支持16线程 SocketHelper.CreateListener(out _listener, localIpe, 16); _listener.BeginAccept(this.AcceptCallback, null); }
public void AddRemoteEndPoint(EndPoint remoteEndPoint) { var de = remoteEndPoint as DnsEndPoint; if (de != null) { var q = from ip in SocketHelper.GetHostAddresses(de.Host) select new IPEndPoint(ip, de.Port); lock (_remoteEndPoints) { _remoteEndPoints.UnionWith(q); } } else { lock (_remoteEndPoints) { _remoteEndPoints.Add(remoteEndPoint); } } App.LogInfo("Udp Record {0}.", remoteEndPoint); }
private void CheckSocks(HttpContext context, out Guid agentSock, out IPEndPoint agentDirect) { string direct = context.Request.Headers[AgentDirect]; if (!Guid.TryParseExact(context.Request.Headers[AgentSock], "N", out agentSock) || string.IsNullOrEmpty(direct)) { this.ResponseForbidden(context); } try { agentDirect = SocketHelper.ParseEndPoint(direct); if (agentDirect.Address.Equals(IPAddress.Loopback) && BlockPorts.Contains((ushort)agentDirect.Port)) { throw new HttpException(403, string.Format("CheckSocks proxyClient({0}) invalid", agentDirect)); } } catch (ArgumentException) { agentDirect = null; this.ResponseForbidden(context); } }
private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (((CheckBox)sender).Checked) { if (!_initialized) { Cursor = Cursors.WaitCursor; try { var ipe = SocketHelper.ParseEndPoint(textBox1.Text); this.monitorUserControl1.Initialize(ipe); _initialized = true; } catch (Exception ex) { MessageBox.Show(ex.Message, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Warning); App.LogError(ex, "MonitorClient"); } Cursor = Cursors.Arrow; } if (_task == null || _task.IsCompleted) { _task = TaskHelper.Factory.StartNew(() => { while (_initialized) { this.monitorUserControl1.UpdateDisplay(); Thread.Sleep(200); } }); } } else { _initialized = false; } }