void OnDataReceived(Session s) { Console.WriteLine(s.Handle + " received " + Encoding.Default.GetString(s.Data)); s.Socket.Send(s.Data); }
void OnDataSent(Session s) { Console.WriteLine(s.Handle + " sent"); }
void NetManager_OnDataReceived(Session s) { //throw new NotImplementedException(); str += Encoding.Default.GetString(s.Data); }
void OnClientDisconnected(Session s) { Console.WriteLine(s.Handle + " disconnected"); }
public void Del(Session s) { Del(GetIndex(s)); }
public int GetIndex(Session s) { return GetIndex(s.Handle); }
public void Add(Session s) { if (GetIndex(s) == -1) { sessions.Add(s); } }
public Clinet() { rbuffer = new byte[1024 * 1024]; session = new Session(); }
void AcceptFunc(IAsyncResult iar) { Socket serverSocket = (Socket)iar.AsyncState; Socket clientSocket = serverSocket.EndAccept(iar); Session s = new Session(clientSocket); if (ClientCount < Capacity) { sessions.Add(s); if (OnClientConnected != null) { OnClientConnected(s); } } else { if (OnServerFull != null) { OnServerFull(s); } } clientSocket.BeginReceive(rbuffer,0,rbuffer.Length, SocketFlags.None, new AsyncCallback(ReceiveFunc), s); serverSocket.BeginAccept(new AsyncCallback(AcceptFunc), serverSocket); }
public void Send(Session session, byte[] data) { sendcount = data.Length; session.Socket.BeginSend(data, 0, sendcount, SocketFlags.None, new AsyncCallback(SendFunc), session); }
public NetEventArgs(Session s) { Session = s; }