⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.cs

📁 txt file..........................
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GsmComm.GsmCommunication;
using GsmComm.PduConverter;
using System.IO;

namespace SMSServer
{
    public partial class Server : Form
    {
        testfrm f;
        frmConnection dlg;
        public Server()
        {
            InitializeComponent();
        }

        private void Server_Load(object sender, EventArgs e)
        {
            int port = GsmCommMain.DefaultPortNumber;
            int baudRate = 9600; // We Set 9600 as our Default Baud Rate
            int timeout = GsmCommMain.DefaultTimeout;

            dlg = new frmConnection();
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.SetData(port, baudRate, timeout);

            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                dlg.GetData(out port, out baudRate, out timeout);
                CommSetting.Comm_Port = port;
                CommSetting.Comm_BaudRate = baudRate;
                CommSetting.Comm_TimeOut = timeout;
            }
            else
            {
                Close();
                return;
            }
            Cursor.Current = Cursors.WaitCursor;
            CommSetting.comm = new GsmCommMain(port, baudRate, timeout);
            bool retry;
            do
            {
                retry = false;
                try
                {
                    Cursor.Current = Cursors.WaitCursor;
                    CommSetting.comm.Open();
                    Cursor.Current = Cursors.Default;
                }
                catch (Exception)
                {
                    Cursor.Current = Cursors.Default;
                    if (MessageBox.Show(this, "Unable to open the port.", "Error",
                        MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning) == DialogResult.Retry)
                        retry = true;
                    else
                    {
                        Close();
                        return;
                    }
                }
            }
            while (retry);

            if (CommSetting.PhnConnected)
            {
                lbl_phone_status.Text = "Connected.";
                //f = new testfrm();
                //f.Show();
                MsgChkTimer.Enabled = true;
            }
        }

        private void MsgChkTimer_Tick(object sender, EventArgs e)
        {
            ReceiveMessage();
        }

        private void ReceiveMessage()
        {
            string storage = SMSServerSetting.GetMessageStorage();
            DecodedShortMessage[] messages = CommSetting.comm.ReadMessages(PhoneMessageStatus.ReceivedUnread, storage);
            foreach (DecodedShortMessage message in messages)
            {
                Output(string.Format("Message status = {0}, Location = {1}/{2}",
                    StatusToString(message.Status), message.Storage, message.Index));
                ShowMessage(message.Data);
                Output("");
            }
        }

        private string StatusToString(PhoneMessageStatus status)
        {
            // Map a message status to a string
            string ret;
            switch (status)
            {
                case PhoneMessageStatus.All:
                    ret = "All";
                    break;
                case PhoneMessageStatus.ReceivedRead:
                    ret = "Read";
                    break;
                case PhoneMessageStatus.ReceivedUnread:
                    ret = "Unread";
                    break;
                case PhoneMessageStatus.StoredSent:
                    ret = "Sent";
                    break;
                case PhoneMessageStatus.StoredUnsent:
                    ret = "Unsent";
                    break;
                default:
                    ret = "Unknown (" + status.ToString() + ")";
                    break;
            }
            return ret;
        }
        private void ShowMessage(SmsPdu pdu)
        {
            if (pdu is SmsSubmitPdu)
            {
                // Stored (sent/unsent) message
                SmsSubmitPdu data = (SmsSubmitPdu)pdu;
                Output("SENT/UNSENT MESSAGE");
                Output("Recipient: " + data.DestinationAddress);
                Output("Message text: " + data.UserDataText);
                Output("-------------------------------------------------------------------");
                return;
            }
            if (pdu is SmsDeliverPdu)
            {
                // Received message
                SmsDeliverPdu data = (SmsDeliverPdu)pdu;
                Output("RECEIVED MESSAGE");
                Output("Sender: " + data.OriginatingAddress);
                Output("Sent: " + data.SCTimestamp.ToString());
                Output("Message text: " + data.UserDataText);
                Output("-------------------------------------------------------------------");
                Client c = new Client(data.OriginatingAddress, data.UserDataText);

               // BindGrid(pdu);

                return;
            }
            if (pdu is SmsStatusReportPdu)
            {
                // Status report
                SmsStatusReportPdu data = (SmsStatusReportPdu)pdu;
                Output("STATUS REPORT");
                Output("Recipient: " + data.RecipientAddress);
                Output("Status: " + data.Status.ToString());
                Output("Timestamp: " + data.DischargeTime.ToString());
                Output("Message ref: " + data.MessageReference.ToString());
                Output("-------------------------------------------------------------------");
                return;
            }
            Output("Unknown message type: " + pdu.GetType().ToString());
        }

        private void Output(string text)
        {
          
                txtOutput.AppendText(text);
                txtOutput.AppendText("\r\n");
            
        }

        private void Server_FormClosed(object sender, FormClosedEventArgs e)
        {
            //Close();
            MsgChkTimer.Stop();
            MsgChkTimer.Enabled = false;
            
            MsgChkTimer.Dispose();
            //f.Close();
            dlg.Close();
            SMSServerSetting.EndServer = true;
            Application.Exit();
        }

              
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -