Ejemplo n.º 1
0
        //成功接收到数据
        public static void ReadCallback(IAsyncResult ar)
        {
            try
            {
                String content = String.Empty;

                StateObject state   = (StateObject)ar.AsyncState;
                Socket      handler = state.workSocket;

                int bytesRead = handler.EndReceive(ar);
                if (bytesRead > 0)
                {
                    string data = Encoding.Default.GetString(state.buffer, 0, bytesRead);
                    state.sb.Append(data);
                    content = state.sb.ToString();
                    //  Send(handler, "recive success");

                    DataProcessCommon dataProcessCommon = new DataProcessCommon();
                    //处理接收的数据
                    dataProcessCommon.ProcessData(data, handler.LocalEndPoint.ToString().Split(':')[1]);

                    //继续监听
                    handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state);
                }
            }
            catch (Exception ex)
            {
                FileOperation.WriteAppenFile("3" + ex.Message);
            }
        }