真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)交換vb.net 數(shù)據(jù)交換方式有哪些

急!VB.NET 用SOCKET實現(xiàn)數(shù)據(jù)交換案例

rivate Shared Function ConnectSocket(ByVal server As String, ByVal port As Integer) As Socket'創(chuàng)建連接

10年的富川網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整富川建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“富川網(wǎng)站設計”,“富川網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

Dim s As Socket = Nothing

Dim hostEntry As IPHostEntry = Nothing

Dim address As IPAddress

address = System.Net.IPAddress.Parse(server)

Dim endPoint As New IPEndPoint(address, port)

Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)

tempSocket.Connect(endPoint)

If tempSocket.Connected Then

s = tempSocket

End If

Return s

End Function

調(diào)用:s = ConnectSocket(IP地址, 端口)'端口號如8000,8080等

s.close'關閉連接

VB.NET的數(shù)據(jù)類型轉換方式主要有哪幾種?

CType 函數(shù)

任何數(shù)據(jù)類型

必須在兩種數(shù)據(jù)類型之間定義擴大轉換或收縮轉換

引發(fā) InvalidCastException

DirectCast

任何數(shù)據(jù)類型

一個類型必須繼承自或者實現(xiàn)另一個類型

引發(fā) InvalidCastException

TryCast

僅引用類型

一個類型必須繼承或者實現(xiàn)另一個類型

返回 Nothing (Visual Basic)

VB.net用什么技術可以實現(xiàn)VB6中的DDE功能

DDE是一種動態(tài)數(shù)據(jù)交換機制(Dynamic Data Exchange,DDE),是 16 位 Windows 時代實現(xiàn)不同應用程序之間互相交換數(shù)據(jù)和控制的技術。使用DDE通訊需要兩個Windows應用程序,其中一個作為服務器處理信息,另外一個作為客戶機從服務器獲得信息。

VB.NET實現(xiàn)PC與掌上電腦PPC的雙向通信

本文介紹如何利用 通過Windows Sockets (Winsock)以及多線程編程進行桌面電腦與Pocket PC(掌上電腦 簡稱 PPC)間的雙向通信 并且通過當今流行平臺編程語言Visaul Basic Net 編寫PC端和PPC端程序實現(xiàn)兩者的信息交換 一 概述如今移動計算設備越來越普及 而PPC與桌面電腦的數(shù)據(jù)交換更是其必不可少的功能 筆者根據(jù)實際的無線PPC開發(fā)認為 PPC程序與桌面程序進行通信 除了可以通過SQL Server CE提供的RDA(遠程數(shù)據(jù)存?。┖蚏eplication(復制)來完成與桌面SQL Server的數(shù)據(jù)存取外 另外一種比較方便快捷的方法則是通過Socket與桌面電腦完成信息的交換  采用Visaul Basic Net 進行PPC和桌面電腦的程序編寫 已經(jīng)完全不同于過去的VB 它的諸多新特性以及依托 Net平臺強大的面向對象體系使VB Net煥然一新 不僅編寫桌面程序更加輕松快捷而且更可快速的 可視化的開發(fā)以Pocket PC為平臺的智能設備程序 Net框架是一種新的計算平臺 可以簡單理解為組件庫或者類庫 類似于MFC和VCL 但是卻比它們更加強大和易用 NET框架具有兩個主要組件 公共語言運行庫和 NET 框架類庫 公共語言運行庫是 NET 框架的基礎 可以將運行庫看作一個在執(zhí)行時管理代碼的代理 它提供核心服務(如內(nèi)存管理 線程管理和遠程處理等) 以運行庫為目標的代碼稱為托管代碼 而不以運行庫為目標的代碼稱為非托管代碼 NET 框架類庫是一個與公共語言運行庫緊密集成的可重用的類型集合 該類庫是面向對象的 NET 框架類庫能夠完成一系列常見編程任務 包括諸如字符串管理 數(shù)據(jù)收集 數(shù)據(jù)庫連接以及文件訪問等任務 Net框架精簡版是完整 Net框架的子集 它是對完整的 Net框架進行精簡后得到的版本 雖然其規(guī)模大大減小 但多數(shù)功能仍然保持完整 使用 NET框架精簡版可以針對Pocket PC和其他Windows CE NET設備進行開發(fā)和部署 提高開發(fā)人員的工作效率 VB Net編譯的桌面程序在目標機器上需要 Net框架的支持才能運行 而編譯過的PPC程序需要在目標PPC上裝載 Net框架精簡版后方可運行 二 設計思路在 Net框架中System Net Sockets命名空間為需要嚴密控制網(wǎng)絡訪問的開發(fā)提供了 Windows Sockets (Winsock) 接口的托管實現(xiàn) 該命名空間中包含了與Socket相關的類 接口和枚舉 主要包括實現(xiàn) Berkeley 套接字接口的Socket類 用于 TCP 網(wǎng)絡客戶端偵聽連接的TcpListener類 為 TCP 網(wǎng)絡服務提供客戶端連接的TcpClient類以及提供無連接的發(fā)送和接收用戶數(shù)據(jù)文報 (UDP) 的網(wǎng)絡服務等 該命名空間下的大部分類都受 Net框架精簡版的支持 也就是說實現(xiàn)這些對象的代碼完全可以在裝載有 Net框架精簡版的PPC上運行 可以把PPC當作局域網(wǎng)中的一個終端來與桌面電腦連接 它們之間有多種物理連接方式 通常可以使用USB線纜配合ActiveSync直接與桌面電腦連接 當然 若PPC和桌面電腦同時具備其它的連接方式 比如無線WiFi(無線 x) 藍牙等都可以組成相應的無線局域網(wǎng)絡 在PPC上編寫客戶端程序并實現(xiàn)TcpClient類 用于連接 發(fā)送和接收流數(shù)據(jù) 在桌面電腦上我們設計Socket服務端程序并實現(xiàn)TcpListener類和Socket類 用于偵聽和接受傳入連接的請求 Socket類為網(wǎng)絡通信提供了一套非常豐富的方法和屬性 服務程序可以使用 TcpListener Listen 方法偵聽連接 Accept 方法處理任何傳入的連接請求 并返回可用于與遠程主機進行數(shù)據(jù)通信的Socket 如果當前使用的是無連接協(xié)議(如UDP) 則根本不需要偵聽連接 實際上TcpClient類和TcpListener類為 Socket通信提供了比Socket類更簡單 對用戶更友好的接口 如果編寫較簡單的應用程序 而且只需同步數(shù)據(jù)傳輸 則可以考慮使用 TcpClient TcpListener 和 UdpClient ……Listener = New TcpListener(System Net IPAddress Parse( ) ) Listener Start()Label Text = 正在 : 處偵聽 …… 三 程序的具體實現(xiàn) 創(chuàng)建PPC客戶端程序啟動Visual Studio Net 新建Visaul Basic項目 并選擇 智能設備應用程序 選擇 Pocket PC 平臺的 Windows 應用程序 并創(chuàng)建項目 Pocket PC平臺是Windows CE 平臺的子集 Windows CE系統(tǒng)的應用則更加廣泛 項目創(chuàng)建完后 Visaul Studio Net會創(chuàng)建一個默認的主窗體Form 在窗體上分別放置兩個Panel控件 四個Label控件 三個TextBox控件和兩個Button控件 PPC客戶端程序界面

設計PPC程序的Form窗體與桌面程序沒有太多差別 只是少了一些PPC上所不支持的屬性 但是屬性的名稱并沒有變化 在PPC上沒有窗口最小化的實際意義 所以主窗體的MinimizeBox屬性必須設置成False 否則 當需要退出程序點擊標題欄最右側的關閉按鈕時 程序并沒有真正退出而是隱藏在后臺 程序需要重新激活才能回到前臺 或者可以向一個Button添加關閉主窗體的代碼 Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click Me Close()End SubMe 為VB Net中的關鍵字 可以引用當前在其中執(zhí)行代碼的類或結構的特定實例 Me 的行為與引用當前實例的對象變量或結構變量類似 此例Me代表主窗體的實例Form 使用TcpClient向TcpListener或Socket 偵聽器連接并交換數(shù)據(jù) 可以使用下面兩種方法之一連接到偵聽器 ( )創(chuàng)建一個 TcpClient 并調(diào)用三個可用的 Connect 方法之一 ( )使用遠程主機的主機名和端口號創(chuàng)建 TcpClient 此構造函數(shù)將自動嘗試一個連接 TcpClient的Connect 方法使用指定的主機名和端口號將客戶端連接到 TCP 主機 重載函數(shù)原型為 使用指定的遠程網(wǎng)絡終結點將客戶端連接到遠程 TCP 主機 Overloads Public Sub Connect(IPEndPoint)使用指定的 IP 地址和端口號將客戶端連接到 TCP 主機 Overloads Public Sub Connect(IPAddress Integer)將客戶端連接到指定主機上的指定端口 Overloads Public Sub Connect(String Integer)我們使用指定的本地主機IP地址和端口號將客戶端連接到TCP主機 在堆棧中創(chuàng)建TcpClient對象的實例 當執(zhí)行退出當前過程或函數(shù)時 堆棧中的資源會自動清除 保證內(nèi)存空間被正確釋放 連接成功后要發(fā)送和接收數(shù)據(jù) 使用 GetStream 方法來獲取一個NeorkStream NeorkStream為基礎數(shù)據(jù)流 調(diào)用 NeorkStream 的 Write 和 Read 方法與遠程主機之間發(fā)送和接收數(shù)據(jù) 當發(fā)送操作結束后使用 TcpClient的Close 方法斷開連接 關閉對象并釋放與 TcpClient 關聯(lián)的所有資源 雙擊 連接 按鈕 編寫連接代碼 代碼片段如下

創(chuàng)建TcpClient對象的實例Client = New TcpClient 通過計算機名稱和端口號連接到指定的計算機Client Connect( )SendData = 由PPC傳遞過來的數(shù)據(jù) – Author Risen 按一定的編碼規(guī)則對要傳遞的數(shù)據(jù)進行編碼 Buffer = Encoding UTF GetBytes(SendData) 向已連接的服務程序發(fā)送數(shù)據(jù)Client GetStream() Write(Buffer Buffer Length) DataAvailable 指示NeorkStream 上是否有可用的數(shù)據(jù) 如果可以在流上讀取數(shù)據(jù) 則為 true 否則為 false 只要有數(shù)據(jù)存在就等待傳輸完畢While Not Client GetStream DataAvailable() Application DoEvents()End While 接收由服務程序傳遞回客戶端的數(shù)據(jù)并顯示在對話框上If Client GetStream DataAvailable() Then Client GetStream() Read(InBuff InBuff Length) rtndata = 服務程序已經(jīng)成功收到指令 在 System Text Encoding Default GetString(InBuff InBuff Length) MsgBox(rtndata)End If 斷開連接 關閉對象并釋放與 TcpClient 關聯(lián)的所有資源

Client Close()

正確編譯上述代碼還需要在源文件的頭部加入使用命名空間的引用 才能正確使用命名空間中的所有枚舉 結構 類或模塊等 Imports Sockets 添加需要導入的命名空間Imports System Text 添加需要導入的命名空間Public Class Form ……跟蹤調(diào)試PPC程序需要在適當?shù)哪M器下進行 譬如系統(tǒng)默認的PocketPC 模擬器 程序調(diào)試無誤后可以連接到實際的PocketPC設備運行 實際部署到PPC設備需要在連接的桌面電腦上安裝Microsoft ActiveSync將程序傳輸?shù)接脩裟夸浿? 創(chuàng)建桌面服務端程序啟動Visual Studio Net 新建Visaul Basic項目 并選擇 Windows應用程序 創(chuàng)建項目 項目創(chuàng)建完后Visaul Studio Net會創(chuàng)建一個默認的主窗體Form 在窗體上分別放置三個Label控件 兩個TextBox控件 一個列表框控件和一個Button控件 創(chuàng)建全局的TcpListener對象的實例來偵聽特定的端口 代碼片段如下 創(chuàng)建在本機IP地址和端口偵聽的TcpListener對象的實例Listener = New TcpListener( ) 開始偵聽Listener Start() 偵聽狀態(tài)標志Listening = TrueLabel Text = 正在 處偵聽 ……通過計時器定時檢測偵聽器有無連接請求并啟用多線程來處理接收到的數(shù)據(jù) 代碼片段如下 聲明創(chuàng)建線程時 使用 ThreadStart 委托作為其唯一參數(shù)的構造函數(shù)創(chuàng)建 Thread 類的新實例 Dim CurThreadStart As ThreadStartDim CurThread As Thread 檢測偵聽器是否有掛起的連接請求 沒有則退出計時器事件If Not Listener Pending() Then Exit SubEnd If 有連接的請求則將計時器暫停 準備進行處理tmProcessRequest Enabled = False 創(chuàng)建線程委托 傳遞需要操作的過程的地址CurThreadStart = New ThreadStart(AddressOf ProcessRequest)CurThread = New Thread(CurThreadStart) 開始一個線程CurThread Start() 重新啟動計時器tmProcessRequest Enabled = True

將計時器觸發(fā)事件的頻率Interval(以毫秒為單位)適當調(diào)節(jié)可以改變服務程序響應連接請求的快慢 計時器不斷循環(huán) 一旦發(fā)現(xiàn)有連接的請求就會創(chuàng)建一個線程專門來處理這個連接 創(chuàng)建線程時需要傳遞處理連接的過程或函數(shù)的地址以被線程調(diào)用

服務程序通過已連接的Socket獲取數(shù)據(jù) 接收到的數(shù)據(jù)按相應的編碼規(guī)則進行解碼并將信息添加到列表框中

……CurThread = System Threading Thread CurrentThread() 接受掛起的連接請求并返回可用來發(fā)送和接收數(shù)據(jù)的SocketCurSocket = Listener AcceptSocketWhile Listening If CurSocket Available Then 接收來自綁定的Socket的數(shù)據(jù)Bytes = CurSocket Receive(Buffer Buffer Length ) 將接收到的數(shù)據(jù)轉化成相應編碼的字符串ReceivedData= Encoding UTF GetString(Buffer)SyncLock CurThreadlbReceived Items Add(ReceivedData)End SyncLock……TCPListener AcceptSocket接受掛起的連接請求 并且返回用于發(fā)送和接收數(shù)據(jù)的 Socket 此 Socket 繼續(xù)用于和新連接上的客戶端通信 SyncLock 語句確保多個線程不會同時執(zhí)行向列表框添加數(shù)據(jù)的操作 當線程到達 SyncLock 塊時 將計算表達式并保持此互斥性 直到在表達式返回的對象上有鎖為止 這防止了表達式在多個線程運行期間更改值 從而避免代碼產(chǎn)生意外的結果 向客戶端返回服務端處理后的消息 代碼片段如下 格式化返回消息 這是服務器端處理后的結果并返回到客戶端 BacktoClientData = System DateTime Now 向客戶端傳遞服務端程序處理時的時間Buffer = Encoding UTF GetBytes(BacktoClientData ToCharArray) 通過打開的套接字將結果發(fā)送回客戶端應用程序 然后關閉該套接字 CurSocket Send(Buffer Buffer Length )CurSocket Close()編譯桌面服務端程序運行效果如下圖所示 當服務程序處理完一個連接后就向相應的PPC客戶端返回一條成功信息 如下圖所示 至此 PPC客戶端程序和桌面服務端程序編寫完畢 該系統(tǒng)在安裝WindowsXP SP 的桌面電腦和Dell X i 的PPC上測試通過 四 結論本程序簡單介紹了PC與PPC之間Socket通信方法 在實際應用中還有很多細節(jié)要做 并且還有可以拓展的地方 該模型為實現(xiàn)PC與PPC間復雜的信息交互 創(chuàng)建復雜的無線信息系統(tǒng)提供了一定技術基礎 lishixinzhi/Article/program/net/201311/11532


網(wǎng)站題目:數(shù)據(jù)交換vb.net 數(shù)據(jù)交換方式有哪些
分享鏈接:http://weahome.cn/article/hghijh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部