簡體   English   中英

使用 C# 向藍牙(Com 端口)發送/接收文本和數據

[英]Send/Receive Text and Data to bluetooth (Com Port) using C#

我正在創建一個可以向藍牙設備發送測試或數據的程序。 為此,我想使用藍牙軟件提供的虛擬串行端口。

Q. 有沒有辦法像局域網中的socket編程一樣將網絡stream發送到虛擬串口?

問:如何從藍牙接收數據? 是網絡Stream的形式嗎?

問:通過藍牙發送和接收數據的快速方法是什么?

因為我不僅向設備發送文本,還向設備發送圖像和其他類型的數據。

1)不確定藍牙虛擬端口,但我懷疑您可以只使用 readFile/writeFile(或“Ex”異步版本)來處理 CreateFile() 返回的句柄,就像“普通”串行端口一樣。 如果是這樣,您可以處理手柄,(對不起,)。 就像客戶端套接字 connect() 或服務器偵聽器 accept() 中引發的套接字句柄一樣,因此您應該能夠使用專用線程,即 I/O 完成例程。 或 IO 完成端口與虛擬端口通信。

我以前做過類似的事情,但是使用 Delphi 和一個“真實”串行端口和一個客戶端網絡連接。 我使用了 IO 完成例程,其中“IOhandler”class 被轉移到“hEvent”字段中的完成例程。 串行端口和客戶端套接字類是 IOhandler 的后代,因此相同的 IO 完成例程代碼適用於兩者。 它工作正常,(最終:)。 我不知道為什么它在 C# 中無法正常工作。

2)再次,確定藍牙虛擬端口。 鑒於許多藍牙實現可以提供這些虛擬 COM 端口作為接口,那么傳輸肯定是“八位字節流”,就像 TCP 或“真實”ZD47C174ED277BDF06CFC72763AB7970 端口一樣。

3) 在 Windows 上? 我懷疑 IO 完成端口。 可能並不重要,因為與 Windows 可以處理的相比,藍牙帶寬並不是那么好。

Rgds,馬丁

這可能會對您有所幫助嗎mCore™ .NET SMS 庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM