private void Adapter_ErrorOccured(object sender, SocketHelper.Events.ErrorEventArgs args) { SocketAdapter adapter = sender as SocketAdapter; Console.WriteLine("Adapter ErrorOccured:" + args.ErrorMessage + "__" + adapter.RemoteEndPoint); adapter.Close(); }
private void uninstallEvent() { _adapter.Closed -= _adapter_Closed; _adapter.ErrorOccured -= _adapter_ErrorOccured; _adapter.ReceiveCompleted -= _adapter_ReceiveCompleted; _adapter = null; }
private void onErrorOccured(object sender, SocketHelper.Events.ErrorEventArgs args) { SocketAdapter adapter = sender as SocketAdapter; Logger.Default.Debug("Adapter ErrorOccured:" + args.ErrorMessage + "__" + adapter.RemoteEndPoint); adapter.Close(); }
private void onErrorOccured(object sender, SocketHelper.Events.ErrorEventArgs args) { SocketAdapter adapter = sender as SocketAdapter; Common.Log.Logger.Default.Trace($"Adapter ErrorOccured:{ConnectInfom} {args.ErrorMessage} __{adapter.RemoteEndPoint}"); adapter.Close(); }
private void onClosed(object sender, EventArgs e) { SocketAdapter adapter = sender as SocketAdapter; Logger.Default.Debug("Adapter has closed!_" + adapter.RemoteEndPoint); Dispose(); }
public IModbusMaster CreateMaster(Socket client) { var adapter = new SocketAdapter(client); var transport = new ModbusRtuTransport(adapter, this, Logger); return(new ModbusSerialMaster(transport)); }
public StreamPipe(SocketAdapter adapter) { Id = Guid.NewGuid().ToString(); _adapter = adapter; _adapter.Closed += _adapter_Closed; _adapter.ErrorOccured += _adapter_ErrorOccured; _adapter.ReceiveCompleted += _adapter_ReceiveCompleted; }
private void Server_ClientAccepted(object sender, SocketHelper.Events.ClientAcceptedEventArgs args) { string endpoint = args.Adapter.RemoteEndPoint.ToString(); SocketAdapter adapter = args.Adapter; addEvent(adapter); adapter.Send((int)ParamCode.EnsureConnect); }
private void onClosed(object sender, EventArgs e) { SocketAdapter adapter = sender as SocketAdapter; //Logger.Default.Debug("Adapter has closed!_" + adapter.RemoteEndPoint); Common.Log.Logger.Default.Trace($"{adapter.RemoteEndPoint} 离线.{ConnectInfom}"); Dispose(); }
public void Init(SocketAdapter adapter, string connectInfom) { Adapter = adapter; ConnectInfom = connectInfom; Common.Log.Logger.Default.Trace($"{adapter.RemoteEndPoint} 上线.{ConnectInfom}"); Adapter.ErrorOccured += onErrorOccured; Adapter.Closed += onClosed; }
/// <summary> /// Initializes a new instance of the SocketAdapterConnectionFactory class /// </summary> public SocketAdapterConnectionFactory(ConnectionUri connectionUri , ClientCredentials clientCredentials , SocketAdapter adapter) { this.clientCredentials = clientCredentials; this.adapter = adapter; this._Uri = connectionUri as SocketAdapterConnectionUri; }
public DownloadSocketManager(SocketAdapter adapter) { _disposeEvent.Reset(); Adapter = adapter; Adapter.ErrorOccured += onErrorOccured; Adapter.Closed += onClosed; Adapter.ReceiveCompleted += onReceiveCompleted; send(ParamCode.EnsureConnect, new byte[0]); }
private void Adapter_Closed(object sender, EventArgs e) { SocketAdapter adapter = sender as SocketAdapter; if (_isDownload) { Common.Log.Logger.Default.Trace("结束下载!" + adapter.RemoteEndPoint); } removeEvent(adapter); }
private void Server_ClientAccepted(object sender, SocketHelper.Events.ClientAcceptedEventArgs args) { string endpoint = args.Adapter.RemoteEndPoint.ToString(); Console.WriteLine("ClientAccepted:" + endpoint); SocketAdapter adapter = args.Adapter; _sockets.RemoveAll(_ => _.Adapter == null); _sockets.Add(new DownloadSocketManager(adapter)); }
public void Dispose() { _disposeEvent.Set(); (_download as IOnlinePlayback)?.SetPriority(false); if (Adapter != null) { Adapter.ErrorOccured -= onErrorOccured; Adapter.Closed -= onClosed; Adapter.ReceiveCompleted -= onReceiveCompleted; } Adapter = null; OnlineDownloadsManager.Instance.DownloadInfoPartChanged -= onDownloadInfoPartChanged; }
private void Server_ClientAccepted(object sender, ClientAcceptedEventArgs args) { string endpoint = args.Adapter.RemoteEndPoint.ToString(); Common.Log.Logger.Default.Trace("ClientAccepted:" + endpoint); SocketAdapter adapter = args.Adapter; lock (_sockets) { _sockets.RemoveAll(_ => _.Adapter == null); var socket = new SocketListener(adapter, $"监听端口:{_port}."); _sockets.Add(socket); } }
static void Main(string[] args) { //1:类适配器 ISocket socket = new SocketAdapter(); socket.GetElectric(); //2:对象适配器 BaseSocket baseSocket = new ChinaSocketAdpter(); baseSocket.GetElectric(); Console.Read(); }
private void startButton_Click(object sender, EventArgs e) { Thread.CurrentThread.Name = "Main Thread"; if (_session != null) { _socket.Disconnect(); _socket = null; } var adapter = new SocketAdapter(); _socket = new SymSocket(adapter, "symitar", 23); _session = new SymSession(_socket, 670); Login(); }
public void WidcommMruxxB8() { byte[] requests = SimplePut1_ExpectedRequests_WidcommMru0FB8; byte[] expectedResponses = SimplePut1_Responses; // MemoryStream peerRequests_ = new MemoryStream(requests, false); Stream peerRequests = ModifyReadStream(peerRequests_); MemoryStream ourResponses = new MemoryStream(); TwoWayStream peer = new TwoWayStream(peerRequests, ourResponses); // SocketAdapter s = CreateSocketAdapter(peer); ObexListenerContext ctx = new ObexListenerContext(s); // Assert.AreEqual(expectedResponses, ourResponses.ToArray(), "ourResponses"); }
private void Adapter_ReceiveCompleted(object sender, ReceiveEventArgs args) { if (args.ByteLength > 0) { SocketAdapter adapter = sender as SocketAdapter; using (MemoryStream ms = new MemoryStream(args.ReceivedBytes)) { int code = PacketBase.ReadInt(ms); byte[] buffer = null; switch ((ParamCode)code) { case ParamCode.TimePeriods: buffer = getVideoTimePeriodsPacketBuffer(VideoBaseInfomParam.Decode(ms)); break; case ParamCode.VideoPacket: buffer = getVideoPacketBuffer(VideoDataParam.Decode(ms)); break; case ParamCode.VideoBaseInfo: VideoBaseInfomParam param = VideoBaseInfomParam.Decode(ms); Common.Log.Logger.Default.Trace($"下载视频:{param.BeginTime} - {param.EndTime} - {param.VideoName} - {param.VideoId} - {param.StreamId} -- {adapter.RemoteEndPoint}"); _isDownload = true; buffer = getVideoBasePacketBuffer(param); break; case ParamCode.StorageFlag: onStorageFlag(StorageFlagParam.Decode(ms)); break; case ParamCode.StorageFlagAll: buffer = getStorageFlagAll(); Console.WriteLine("StorageFlagAll: {0}", buffer.Length); break; } if (buffer != null) { adapter.Send(code, buffer); } } } }
static public bool connectTcp(string address, int port) { if (socketAdapter == null) { socketAdapter = new SocketAdapter(); } socketAdapter.setRecieveHandler(fileManager); if (socketAdapter.connect(address, port, 0)) { socketAdapterThread = new Thread(new ThreadStart(socketAdapter.worker)); socketAdapterThread.Name = "Clients socketAdapterThread"; socketAdapterThread.IsBackground = true; socketAdapterThread.Start(); return(true); } else { return(false); } }
public void startSubClasses() { if (socketAdapter == null) { socketAdapter = new SocketAdapter(); } if (nodeData == null) { nodeData = new NodeData("startupPath"); } if (fileManager == null) { fileManager = new Apx.FileManager(); } if (externalMsgs != null) { nodeData.setExternalQueue(externalMsgs); } fileManager.attachNodeData(nodeData); fileManager.start(); }
public ISocket AddSocket(SocketType socketType, string endPoint, bool isBind, string name, string identity = "", int dataLength = 4) { try { SocketAdapter socket = new SocketAdapter(GetSocketType(socketType), endPoint, isBind, identity, dataLength); socket.SetZmqname(name); _poller.Add(socket._socket); if (_socketDictionary.ContainsKey(name)) { _socketDictionary.TryUpdate(name, socket, socket); } else { _socketDictionary.TryAdd(name, socket); } return(socket); } catch (Exception ex) { throw new NotImplementedException($"AddSocket: EndPoint: {endPoint} ---> {ex.Message}\r\n{ex.StackTrace}\r\n{ex.Source}"); } }
private ObexListenerContext DoTest(byte[] requests, byte[] expectedResponses, bool expectError, out Exception resultException) { MemoryStream peerRequests_ = new MemoryStream(requests, false); Stream peerRequests = ModifyReadStream(peerRequests_); MemoryStream ourResponses = new MemoryStream(); TwoWayStream peer = new TwoWayStream(peerRequests, ourResponses); // SocketAdapter s = CreateSocketAdapter(peer); ObexListenerContext ctx; try { ctx = new ObexListenerContext(s); resultException = null; } catch (Exception ex) { // If test error expected we DO want to check that the // response packets are correct. Otherwise just fail. if (expectError) { resultException = ex; ctx = null; } else { // Unexpected! throw; } } // Assert.AreEqual(expectedResponses, ourResponses.ToArray(), "ourResponses"); if (resultException != null) { Debug.Assert(ctx == null); } return(ctx); }
private ConnectionPool(string host, int port) : this(() => SocketAdapter.Open(host, port, DefaultConnectTimeout)) { }
private ConnectionPool(IPAddress address, int port) : this(() => SocketAdapter.Open(address, port, DefaultConnectTimeout)) { }
public NetPipe(SocketAdapter adapter) { _id = Guid.NewGuid().ToString(); _adapter = adapter; installEvent(); }
private ConnectionPool(IPEndPoint endpoint) : this(() => SocketAdapter.Open(endpoint, DefaultConnectTimeout)) { }
private void removeEvent(SocketAdapter adapter) { adapter.ErrorOccured -= Adapter_ErrorOccured; adapter.Closed -= Adapter_Closed; adapter.ReceiveCompleted -= Adapter_ReceiveCompleted; }
public ClientAcceptedEventArgs(SocketAdapter adapter) { _adapter = adapter; }
/// <summary> /// Instantiate the adapter. /// </summary> /// <returns></returns> protected override BindingElement CreateBindingElement() { SocketAdapter adapter = new SocketAdapter(); this.ApplyConfiguration(adapter); return adapter; }
internal ObexListenerContext(SocketAdapter s) { buffer = new byte[0x2000]; this.localEndPoint = s.LocalEndPoint; this.remoteEndPoint = s.RemoteEndPoint; bool moretoreceive = true; bool putCompleted = false; while (moretoreceive) { //receive the request and store the data for the request object int received = 0; try { while (received < 3) { int readLen = s.Receive(buffer, received, 3 - received, SocketFlags.None); if (readLen == 0) { moretoreceive = false; if (received == 0) { break; // Waiting for first byte of packet -- OK to close then. } else { throw new EndOfStreamException("Connection lost."); } } received += readLen; } //Debug.WriteLine(s.GetHashCode().ToString("X8") + ": RecvH", "ObexListener"); } catch (SocketException se) { //Console.Write(se.Message); HandleConnectionError(se); } if (received == 3) { ObexMethod method = (ObexMethod)buffer[0]; //get length (excluding the 3 byte header) short len = (short)(IPAddress.NetworkToHostOrder(BitConverter.ToInt16(buffer, 1)) - 3); if (len > 0) { int iPos = 0; while (iPos < len) { int wanted = len - iPos; Debug.Assert(wanted > 0, "NOT wanted > 0, is: " + wanted); int receivedBytes = s.Receive(this.buffer, iPos + 3, wanted, SocketFlags.None); if (receivedBytes == 0) { moretoreceive = false; throw new EndOfStreamException("Connection lost."); } iPos += receivedBytes; } } byte[] responsePacket; // Don't init, then the compiler will check that it's set below. //Debug.WriteLine(s.GetHashCode().ToString("X8") + ": Method: " + method, "ObexListener"); responsePacket = HandleAndMakeResponse(ref moretoreceive, ref putCompleted, method); try { System.Diagnostics.Debug.Assert(responsePacket != null, "Must always respond to the peer."); if (responsePacket != null) { s.Send(responsePacket); } } catch (Exception se) { //Console.WriteLine(se.Message); HandleConnectionError(se); } } else { moretoreceive = false; } }//while Debug.WriteLine(s.GetHashCode().ToString("X8") + ": Completed", "ObexListener"); s.Close(); s = null; if (!putCompleted) { // Should not return the request. throw new ProtocolViolationException("No PutFinal received."); } request = new ObexListenerRequest(bodyStream.ToArray(), headers, localEndPoint, remoteEndPoint); }