廣州高深商電子技術有限公司 用戶登錄
用戶注冊 ......
首頁 公告 收款機 抽獎機 來電管理 數據采集 臺球燈控 軟件開發 綜合 會員下載 發貨查詢
公司首頁
當前位置:首頁>> 來電管理>> 二次開發 >>正文
使用C#的Socket開發網絡版來電管理軟件
chen在2009-9-7發表,被瀏覽4205
適合對象:記得來電顯示管理器的網絡版
開發環境:Visual C#
下載范例:6.zip ( 46.13K )  [ 2009-09-07 ]

使用環境:需要來電監聽服務程序TeleListen.exe(點擊下載)
相關連接:來電管理器服務程序




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace _
{
    public partial class Form1 : Form
    {
        static string strReceived="";
        static string server;
        static int port;
        static Socket socketTele;
        static Thread thrListen;

        public Form1()
        {
            InitializeComponent();
        }
        
        private static Socket ConnectSocket()
        {
            Socket socket = null;                    //實例化Socket對象,并初始化為空
            IPHostEntry iphostentry = null;          //實例化IPHostEntry對象,并初始化為空
            iphostentry = Dns.GetHostEntry(server);  //獲得主機信息
            //循環遍歷得到的IP地址列表
            foreach (IPAddress address in iphostentry.AddressList)
            {
                //使用指定的IP地址和端口號實例化IPEndPoint對象
                IPEndPoint IPEPoint = new IPEndPoint(address, port);
                //使用Socket的構造函數實例化一個Socket對象,以便用來連接遠程主機
                Socket newSocket = new Socket(IPEPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                newSocket.Connect(IPEPoint);          //調用Connect方法連接遠程主機
                if (newSocket.Connected)              //判斷遠程連接是否連接
                {
                    socket = newSocket;
                    break;
                }
                else
                {
                    continue;
                }
            }
            return socket;
        }

        //接收Socket服務發送的內容
        private static string SocketReceive()
        {
            Byte[] btReceived = new Byte[256];
            int intContent = 0;
            if (socketTele == null) return "Not connected";
            do
            {
                Application.DoEvents();
                //從綁定的Socket接收數據
                intContent = socketTele.Receive(btReceived, btReceived.Length, 0);
                //將接收到的數據轉換為字符串類型
                strReceived += Encoding.ASCII.GetString(btReceived, 0, intContent) + "\n";
            }
            while (intContent > 0);
            return strReceived;
        }

        //使用線程監聽Socket
        public static void ListenThread()
        {
            //調用自定義方法SocketSendReceive獲取指定主機的主頁面內容
            string strContent = SocketReceive();
            MessageBox.Show(strContent);
        }

        //啟動線程
        private void button1_Click(object sender, EventArgs e)
        {
            server = textBox1.Text;               //指定主機名
            port = Convert.ToInt32(textBox2.Text);   //指定端口號
            socketTele = ConnectSocket();
            if (socketTele == null)
            {
                strReceived = "連接失!\n";
                return;
            }
            thrListen = new Thread(new ThreadStart(ListenThread));
            thrListen.Start();
        }

        //關閉Socket連接
        private void button2_Click(object sender, EventArgs e)
        {
            if (socketTele != null)
            {
                socketTele.Close();
                thrListen.Abort();
            }
        }

        //顯示接收的內容
        private void timer1_Tick(object sender, EventArgs e)
        {
            int i;
            if (strReceived.Length > 0)
            {
                i = strReceived.IndexOf("\n");
                while (i > 0)
                {
                    listBox1.Items.Add(strReceived.Substring(0, i+1));
                    strReceived=strReceived.Remove(0, i+1);
                    i = strReceived.IndexOf("\n");
                }
            }
        }
    }
}
發表評論 評論人 評論共 0 條   發表時間
【相關文章】
在PB中使用OCX控件遇到…
一個用JavaScript…
C#來電顯示管理器開發示例…
開發來電顯示及錄音程序的C…
SQLServer查詢分析…
使用Java開發來電顯示管…
為什么要選擇高深商臺球管理…
【同類文章】
高深商GSM無線固話盒OC…
WIFI接口來電顯示管理器…
新一代USB轉COM口來電…
來電管理器故障排除的方法
在WIN7或Win8中注冊…
計算機收發短信的OCX控件…
使用Java開發來電顯示管…
開發來電顯示及錄音程序的C…
C#來電顯示管理器開發示例…
一個用JavaScript…

廣州高深商電子技術有限公司

地址:天河北路908號、高科大廈B座2704
電話:020-38259081、38258857
電子郵箱:[email protected]

西甲硅油乳剂 吉祥麻将吉林市小鸡飞蛋 qq四人麻将 优顾炒股app 浙江快乐12彩走势 今天的股市行情及走 江西多乐彩开奖结果今 幸运飞艇技巧图最新 钱龙捕鱼个人技巧 下载心悦麻将 今天股市上证指数