Ejemplo n.º 1
0
    public void SendPayload()
    {
        if (sendBuffer.Empty) // 보낼것 없으면...
        {
            return;
        }

        //Social,

        if (true == socket.Poll(0, SelectMode.SelectWrite)) // 데이터를 읽을 수 있다면 ...
        {
            int sentBytes = socket.Send(sendBuffer.GetBuffer(), sendBuffer.ReadHead, sendBuffer.Size, SocketFlags.None);
            sendBuffer.MoveReadHead(sentBytes);
            sendBuffer.Rewind();

            Debug.Log($" send : { sentBytes}");
        }
    }
Ejemplo n.º 2
0
    public void RecvPayload()
    {
        if (true == socket.Poll(0, SelectMode.SelectRead)) // 데이터를 읽을 수 있다면 ...
        {
            Int32 receivedBytes = socket.Receive(recvBuffer.GetBuffer(), 0, recvBuffer.FreeSize, SocketFlags.None);
            //Int32 receivedBytes = socket.Receive(recvBuffer.GetBuffer(), recvBuffer.WriteHead, recvBuffer.FreeSize, SocketFlags.None, out error);
            if (0 < receivedBytes)
            {
                //Debug.Log($"recv bytes = { receivedBytes } bytes");

                recvBuffer.MoveWriteHead(receivedBytes);

                OnRecv();
            }
            else if (receivedBytes == 0)
            {
                Debug.LogError($"recv bytes = { receivedBytes } bytes");
            }
        }
    }