Esempio n. 1
0
        // 发送数据
        public virtual void SendPacket(int index2, int index3, string text)
        {
            if (index2 != -1 && index2 < socketObjs.Count &&
                index3 != -1 && index3 < ((SocketObject)socketObjs[index2]).remoteSocketObjs.Count)
            {
                byte[]             sendBytes       = Encoding.ASCII.GetBytes(text);
                RemoteSocketObject remoteSocketObj = (RemoteSocketObject)((SocketObject)socketObjs[index2]).remoteSocketObjs[index3];
                remoteSocketObj.socket.SendTo(sendBytes, remoteSocketObj.remoteEP);

                SocketData sendData = new SocketData();
                sendData.time = DateTime.Now;
                sendData.type = 1;
                sendData.data = sendBytes.GetBytes();
                remoteSocketObj.dataList.Add(sendData);
                remoteSocketObj.sb.Append(remoteSocketObj.genSendString(sendData));

                SetSendText(index2, index3, "");                 // 清空待发数据
            }
        }
        internal static string GenSendString(SocketData sendData)
        {
            string typeStr = sendData.type == 0 ? "[接收]" : "[发送]";

            return(sendData.time.ToShortTimeString() + " " + typeStr + ":" + Encoding.ASCII.GetString(sendData.data, 0, sendData.data.Length) + "\n");
        }
        // 默认文本显示
        internal static string GenRecvString(SocketData recvData)
        {
            string typeStr = recvData.type == 0 ? "[接收]" : "[发送]";

            return(recvData.time.ToShortTimeString() + " " + typeStr + ":" + Encoding.ASCII.GetString(recvData.data, 0, recvData.data.Length) + "\n");
        }