你好,游客 登录 注册 搜索
背景:
阅读新闻

W3100SM -

[日期:2013-03-28] 来源:  作者: [字体: ]

上一篇W3100SM-S 短信猫代码发送 上,只是实现了转码,但是还要借助TCP调试助手来发送,这还是很初级的。最终要实现的是用TCP连接,然后用代码发送。

用Unicocde转码后,还要以十六进制发送,主要是下面代码:

/// <summary>   
        /// 16进制字符串转字节数组   
        /// </summary>   
        /// <param name="hexString"></param>   
        /// <returns></returns>   
        private static byte[] strToToHexByte(string hexString)
        {
            hexString = hexString.Replace(" ", "");
            if ((hexString.Length % 2) != 0)
                hexString += " ";
            byte[] returnBytes = new byte[hexString.Length / 2];
            for (int i = 0; i < returnBytes.Length; i++)
                returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Trim(), 16);
            return returnBytes;
        }

        /// <summary>   
        /// 字节数组转16进制字符串   
        /// </summary>   
        /// <param name="bytes"></param>   
        /// <returns></returns>   
        public static string byteToHexStr(byte[] bytes)
        {
            string returnStr = "";
            if (bytes != null)
            {
                for (int i = 0; i < bytes.Length; i++)
                {
                    returnStr += bytes[i].ToString("X2");
                }
            }
            return returnStr;
        }

主界面如下:

4

可以手输入IP地址和端口,默认IP为:192.168.1.24,端口号:1234,可以使用IP端口扫描器扫描短信猫,双击列表或单击确定按钮,返回IP地址和端口。

5

可能大家现在没有短信猫,方便测试,我就写了一个模拟程序,使用模拟程序,手机号输入你自己的也发不到你手机上,首先要先启动服务,如下图:

1

可以接收短信,可以回复,我是按照协议的格式返回的,手机号是写在程序里的,可以替换。

短信接收格式

输出:    01386152353511851404013113162432好呀。

意义:    0:数据类型为收到短信,后面为短信相关内容。

        13:发送方号码长度为13位,86:中国区号

        8615235351185:发送方号码。

        14:时间戳长度。

        13031813184152:时间戳,表示发送时间为13年03月18日18点41分52秒,时区是32

这个叫时间戳,但不是Unix 13位的时间戳,完全两回事,别搞混了。

7

按照协议解析接收到的短信,显示手机号和时间。

8

代码下载






收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻