2012-09-05 41 views
0

簡稱鏈路http://www.codeproject.com/KB/vb/winsock_revamped.aspxTCP/IP監聽器的Web應用程序.NET

我們已經開發VB.Net應用程序或Windows應用程序,它通過TCP/IP偵聽器能夠接收客戶端的連接請求,客戶端應用程序中使用VB6編程語言開發。 Windows聊天服務器是基於上述鏈接的示例代碼開發的。

我的應用程序是爲酒店數據庫,從VB6應用程序需要的訂單。因爲我們現有的VB6應用程序具有所有功能,數據庫等。此外,VB6 PC使用TCPIP監聽程序獲取數據。現在我們正在計劃將節點更改爲網站。服務器(在本地PC上運行的VB6應用程序),我不想改變,只是我們要轉移到Web的節點。

客戶端和服務器之間的通信工作正常,沒有問題,但我試圖建立一個Web應用程序。所以我的問題是Web應用程序支持TCP偵聽器還是等價的?或者在Web應用程序的情況下使用Web服務進行通信更好?

web應用ASP.net(VB/C#的.NET 3.5)將在專用服務器的窗口2003 R2運行。 截至目前,我們可以創建一個Windows應用程序,並且我們試圖在Web服務器上安裝它。我爲測試創建的聊天服務器應用程序在我的局域網上工作正常,但我不確定它是否也可以在Web服務器上工作。在局域網的情況下,我使用局域網IP,因特網,我將不得不使用互聯網IP。如果這樣做,它會有安全問題或問題。用於TCP/IP通信的所需端口在Web服務器上保持打開狀態。

framework 3.5,VS2008 for TCP/IP Listener Web Application。

回答

0

在它的本質您的Web服務器實際上只是一個大的TcpListener,多人同時使用高度優化的。考慮到這一點,我沒有看到在會話請求中打開另一個TcpListener只是爲了發送聊天消息。

更好的形式給出是使用Web請求和Ajax做這樣的事情。我確信有很多「網絡聊天服務器」示例項目可供展示。

+0

對不起,現有的應用程序不是聊天服務器,它是酒店的數據庫。我更新了我的問題以反映相同。 –

-1

的一個問題與使用Web服務或爲「聊天應用」發出的呼叫到一個web服務器只能是半雙工的Web應用程序,那麼,你就不能「推」郵件到您的客戶端即時的。理想情況下,使用聊天應用程序時,您需要全雙工解決方案,以便您可以實時向客戶端推送響應,而不是輪詢服務器。

對此有一些解決辦法;最近推出了網絡套接字(但並非所有的瀏覽器都支持這一點)。 socket.io是處理實時「推送」到web應用程序的好庫。

+1

1.我更新了我的應用程序問題,酒店接受訂單的數據庫,沒有必要立即獲取新訂單的數據,延遲幾分鐘即可。在這種情況下,我現有的TCPIP Listener的Windows服務器是否正常?
2.對於使用的網絡套接字,我可能不得不改變我的VB6代碼,它從這個網站提取數據到TCPIP通道。 –