当前位置: 首页 > news >正文

南京行业网站建设中国建设银行网站下载

南京行业网站建设,中国建设银行网站下载,上海推广网站公司,简历上作品展示网站链接怎么做概述在PC端用.NET开发一个蓝牙下载的程序。实现在PC上查找周围的蓝牙设备#xff08;主要是手机#xff09;#xff0c;并将PC上的文件通过蓝牙传输到手机上。目前我采用的是OpenNETCF.Net.Bluetooth#xff0c;能够正常发现周围的蓝牙设备#xff0c;手机也能够正常进行蓝… 概述在PC端用.NET开发一个蓝牙下载的程序。实现在PC上查找周围的蓝牙设备主要是手机并将PC上的文件通过蓝牙传输到手机上。目前我采用的是OpenNETCF.Net.Bluetooth能够正常发现周围的蓝牙设备手机也能够正常进行蓝牙连接并接收文件。代码实现1、查找周围蓝牙设备 BluetoothClient bc new BluetoothClient();BluetoothDeviceInfo[] bdi;bdi bc.DiscoverDevices(10);//查找周围最多10个蓝牙设备if (bdi.Length 0){this.ShowErrMsg(请确认您的蓝牙已开启);return;} 2、打开数据流 #region OBEXOpenStreampublic bool OBEXOpenStream(string BTMAC){// serial port UUIDGuid spguid OpenNETCF.Net.Bluetooth.BluetoothService.ObexObjectPush;OpenNETCF.Net.BluetoothAddress btaddress OpenNETCF.Net.BluetoothAddress.Parse(BTMAC);client new OpenNETCF.Net.Sockets.BluetoothClient();// define endpointOpenNETCF.Net.BluetoothEndPoint endpoint new OpenNETCF.Net.BluetoothEndPoint(btaddress, spguid);try{//open socketclient.Connect(endpoint);}catch{//unable to connect (server not listening on spguid)return false;}//connect socketstream client.GetStream();return true;}#endregion 3、配对连接 private bool OBEXConnect(){//send client requestbyte[] ConnectPacket new byte[7];ConnectPacket[0] 0x80; // ConnectConnectPacket[1] 0x00; // Packetlength Hi ByteConnectPacket[2] 0x07; // Packetlength Lo ByteConnectPacket[3] 0x10; // Obex v1ConnectPacket[4] 0x00; // no flagsConnectPacket[5] 0x20; // 8k max packet size Hi ByteConnectPacket[6] 0x00; // 8k max packet size Lo Bytestream.Write(ConnectPacket, 0, ConnectPacket.Length);//listen for server responsebyte[] ReceiveBufferA new byte[3];stream.Read(ReceiveBufferA, 0, 3);if (ReceiveBufferA[0] 160) // 0xa0{//success, decode rest of packetint plength (0xff * ReceiveBufferA[1]) ReceiveBufferA[2]; //length of packet is...//listen for rest of packetbyte[] ReceiveBufferB new byte[plength - 3];stream.Read(ReceiveBufferB, 0, plength - 3);int obver ReceiveBufferB[0]; //server obex version (16 v1.0)int cflags ReceiveBufferB[1]; //connect flagsint maxpack (0xff * ReceiveBufferB[2]) ReceiveBufferB[3]; //max packet sizereturn true;}else{return false;}} 4、发送文本内容 //send client request, start putstring tName BRT优惠卷.txt;string tType ;string tFileContent 优惠卷内容: this.txtContent.Text.Trim();int result OBEXRequest(PUT, tName, tType, tFileContent);if (result 160){SendSuccess true;} 完整代码using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net.Sockets; using OpenNETCF; using OpenNETCF.Net; using OpenNETCF.Net.Bluetooth; using OpenNETCF.Net.Sockets;public partial class _Default : System.Web.UI.Page {//Stream stream;NetworkStream stream;OpenNETCF.Net.Sockets.BluetoothClient client;protected void Page_Load(object sender, EventArgs e) {}#region ShowErrMsgprivate void ShowErrMsg(string err) {string str;str script languagejavascript;str alert( err );str /script;this.RegisterStartupScript(, str);}#endregionprotected void btnSend_Click(object sender, EventArgs e) {if (this.txtContent.Text.Trim() string.Empty){this.ShowErrMsg(请输入发送内容);return;}BluetoothClient bc new BluetoothClient();BluetoothDeviceInfo[] bdi;bdi bc.DiscoverDevices(10);//查找周围最多10个蓝牙设备if (bdi.Length 0){this.ShowErrMsg(请确认您的蓝牙已开启);return;}bool SendSuccess false;try{foreach (BluetoothDeviceInfo bd in bdi){if (OBEXOpenStream(bd.DeviceID.ToString())){if (OBEXConnect()){//send client request, start putstring tName BRT优惠卷.txt;string tType ;string tFileContent 优惠卷内容: this.txtContent.Text.Trim();int result OBEXRequest(PUT, tName, tType, tFileContent);if (result 160){SendSuccess true;}}OBEXCloseStream();}else{this.ShowErrMsg(连接失败 bd.DeviceName.ToString());}}if (SendSuccess){this.ShowErrMsg(发送成功谢谢使用);}}finally{OBEXCloseStream();}}#region OBEXOpenStreampublic bool OBEXOpenStream(string BTMAC) {// serial port UUIDGuid spguid OpenNETCF.Net.Bluetooth.BluetoothService.ObexObjectPush;OpenNETCF.Net.BluetoothAddress btaddress OpenNETCF.Net.BluetoothAddress.Parse(BTMAC);client new OpenNETCF.Net.Sockets.BluetoothClient();// define endpointOpenNETCF.Net.BluetoothEndPoint endpoint new OpenNETCF.Net.BluetoothEndPoint(btaddress, spguid);try{//open socketclient.Connect(endpoint);}catch{//unable to connect (server not listening on spguid)return false;}//connect socketstream client.GetStream();return true;}#endregion#region OBEXCloseStreamprivate void OBEXCloseStream() {if (stream ! null){stream.Close();}if (client ! null){client.Close();}}#endregion#region OBEXConnectprivate bool OBEXConnect() {//send client requestbyte[] ConnectPacket new byte[7];ConnectPacket[0] 0x80; // ConnectConnectPacket[1] 0x00; // Packetlength Hi ByteConnectPacket[2] 0x07; // Packetlength Lo ByteConnectPacket[3] 0x10; // Obex v1ConnectPacket[4] 0x00; // no flagsConnectPacket[5] 0x20; // 8k max packet size Hi ByteConnectPacket[6] 0x00; // 8k max packet size Lo Bytestream.Write(ConnectPacket, 0, ConnectPacket.Length);//listen for server responsebyte[] ReceiveBufferA new byte[3];stream.Read(ReceiveBufferA, 0, 3);if (ReceiveBufferA[0] 160) // 0xa0{//success, decode rest of packetint plength (0xff * ReceiveBufferA[1]) ReceiveBufferA[2]; //length of packet is...//listen for rest of packetbyte[] ReceiveBufferB new byte[plength - 3];stream.Read(ReceiveBufferB, 0, plength - 3);int obver ReceiveBufferB[0]; //server obex version (16 v1.0)int cflags ReceiveBufferB[1]; //connect flagsint maxpack (0xff * ReceiveBufferB[2]) ReceiveBufferB[3]; //max packet sizereturn true;}else{return false;}}#endregion#region OBEXRequestprivate int OBEXRequest(string tReqType, string tName, string tType, string tFileContent) {//send client requestint i;int offset;int packetsize;byte reqtype 0x82;int tTypeLen 0x03;int typeheadsize;int typesizeHi 0x00;int typesizeLo 0x03;//tName contact.vcf;//tType text/x-vCard;//tFileContent BEGIN:VCARD\r\nVERSION:2.1\r\nN:;aardvark\r\nFN:aardvark\r\nEND:VCARD\r\n;if (tReqType GET){reqtype 0x83; // 131 GET-Final}if (tReqType PUT){reqtype 0x82; // 130 PUT-Final}packetsize 3;//Name Headerint tNameLength tName.Length;int nameheadsize (3 (tNameLength * 2) 2);int namesizeHi (nameheadsize 0xff00) / 0xff;int namesizeLo nameheadsize 0x00ff;packetsize packetsize nameheadsize;if (tType ! ){//Type HeadertTypeLen tType.Length;typeheadsize 3 tTypeLen 1;typesizeHi (typeheadsize 0xff00) / 0xff;typesizeLo typeheadsize 0x00ff;packetsize packetsize typeheadsize;}//Bodyint fileLen System.Text.Encoding.Default.GetBytes(tFileContent).Length;//tFileContent.Length;int fileheadsize 3 fileLen;int filesizeHi (fileheadsize 0xff00) / 0xff; ;int filesizeLo fileheadsize 0x00ff; ;packetsize packetsize fileheadsize;int packetsizeHi (packetsize 0xff00) / 0xff;int packetsizeLo packetsize 0x00ff;byte[] tSendByte new byte[packetsize];//PUT-final HeadertSendByte[0] reqtype; // Request type e.g. PUT-final 130tSendByte[1] Convert.ToByte(packetsizeHi); // Packetlength HitSendByte[2] Convert.ToByte(packetsizeLo); // Packetlength Looffset 2;//Name HeadertSendByte[offset 1] 0x01; // HI for Name header tSendByte[offset 2] Convert.ToByte(namesizeHi); // Length of Name header (2 bytes per char)tSendByte[offset 3] Convert.ToByte(namesizeLo); // Length of Name header (2 bytes per char)// Name\n\n in unicodebyte[] tNameU System.Text.Encoding.BigEndianUnicode.GetBytes(tName);tNameU.CopyTo(tSendByte, offset 4);offset offset 3 (tNameLength * 2);tSendByte[offset 1] 0x00; // null termtSendByte[offset 2] 0x00; // null termoffset offset 2;if (tType ! ){//Type HeadertSendByte[offset 1] 0x42; // HI for Type Header 66tSendByte[offset 2] Convert.ToByte(typesizeHi); // Length of Type HeadertSendByte[offset 3] Convert.ToByte(typesizeLo); // Length of Type Headerfor (i 0; i (tTypeLen - 1); i){tSendByte[offset 4 i] Convert.ToByte(Convert.ToChar(tType.Substring(i, 1)));}tSendByte[offset 3 tTypeLen 1] 0x00; // null terminatoroffset offset 3 tTypeLen 1;}//BodytSendByte[offset 1] 0x49; //HI End of Body 73tSendByte[offset 2] Convert.ToByte(filesizeHi); //tSendByte[offset 3] Convert.ToByte(filesizeLo); //1k payload 3 for HI header//for (i 0; i (fileLen - 1); i)//{// tSendByte[offset 4 i] Convert.ToByte(tFileContent.Substring(i, 1));//Convert.ToByte(Convert.ToChar(tFileContent.Substring(i, 1)));//}byte[] bfile System.Text.Encoding.Default.GetBytes(tFileContent);for (i 0; i bfile.Length - 1; i){tSendByte[offset 4 i] bfile[i];}//tSendByte[offset4fileLen] 0x00; // null terminatoroffset offset 3 fileLen;stream.Write(tSendByte, 0, tSendByte.Length);//listen for server response//TODO: can hang here forever waiting response...bool x stream.DataAvailable; // changed bluetoothclient - public NetworkStream GetStream()byte[] tArray4 new byte[3];stream.Read(tArray4, 0, 3);x stream.DataAvailable;if (tArray4[0] 160) // 0xa0{int plength (tArray4[1] * 256) tArray4[2] - 3;byte[] tArray5 new byte[plength];if (plength 0){stream.Read(tArray5, 0, plength);//TODO: data in returned packet to deal with}return 160;}if (tArray4[0] 197) // 0xc5 Method not allowed{return 197;}if (tArray4[0] 192) // 0xc0 Bad Request{return 192;}return 0;}#endregion }
http://www.zqtcl.cn/news/648099/

相关文章:

  • 深圳企业网站seo人才招聘网站建设
  • 谷歌下载seo是什么软件
  • 个人网站设计分析小程序在线制作平台
  • 网站开发 一般用什么语言vi视觉设计案例
  • 微信公众平台官方网官网seo优化找哪家做
  • 简约 网站模板网站目录链接怎么做
  • 国内地铁建设公司网站大连做网站外包
  • 微网站营销是什么网站图片上传代码
  • 外包公司做网站多少用vs做的网站怎么打开
  • 兴义城乡建设部网站企业服务器配置方案
  • 淘宝客网站根目录wordpress调用导航代码
  • 海外免费网站推广网站开发项目报告书
  • 大气的金融网站深圳专门做兼职的网站
  • 最新网站备案四平网站公司
  • 济宁恒德建设有限公司网站互联网营销师报名入口
  • 做灯饰的企业都会在哪些网站网站排名恢复
  • 互联网公司网站建设价格跨境支付互联互通
  • 杭州 高端网站 开发宜昌建设网站公司
  • 咋样做网站快照济南建设质量协会网站
  • 学校网站怎么建设兄弟网络(西安网站建设制作公司)
  • 长春市城乡建设局网站photoshop破解版下载免费中文版
  • 吕梁网站设计天津高端网页制作
  • 建一个网站做cpa联盟做淘客的网站都有哪几个
  • 中国建设银行网站对公业务wordpress 文章归档页面
  • 东软 网站群平台建设用个人电脑做网站服务器
  • 音乐播放网站开发pc端营销网站的关键字
  • 江门网站推广宿州官方网站建设
  • 企业网站建设策划书范文江苏高端网站建设
  • 网站开发 浏览器济宁网站建设服务
  • 整套网站建设网站开发中如何实现gps定位