Exemple #1
0
    private static void connect_cb(IAsyncResult ar)
    {
        netsocket obj = (netsocket)ar.AsyncState;

        obj._status = CONNECTED;
        Debug.Log("Connect:" + obj.s.Connected);
        obj.dorecv();
        if (obj.sendq.Count > 0)
        {
            byte[] a = (byte[])obj.sendq.Dequeue();
            obj.dosend(a);
        }
        return;
    }
Exemple #2
0
    private static void recv_cb(IAsyncResult ar)
    {
        netsocket obj  = (netsocket)ar.AsyncState;
        int       read = obj.s.EndReceive(ar);

        if (read > 0)
        {
            lock (obj.readstream) {
                obj.readstream.write(obj.buffer, 0, read);
            }
            obj.dorecv();
        }
        else
        {
            Debug.Log("RecvCB: Disconnect");
            obj._status = DISCONNECT;
            obj.s.Close();
            lock (obj.readstream) {
                obj.readstream.clear();
            }
        }
    }