圖片字體可能是簡體的
因為本人開發環境是簡體的
請見諒><
現在即時通訊軟體很多
如 QQ , MSN , YahooMessanger
利用VB 也可以寫出一套簡易的即時通訊軟體
先使用設定元件 Microsoft Winsock Control 6.0(SP6)
設定使用元件在 VB功能表->專案->設定使用元件(亦可用Ctrl+T)
以下是Winsock的介紹︰
WinSock的全名是 Windows Socket,是定義介於Windows TCP/IP application
Client 與 TCP/IP 的protocol stack之間的一項標準介面。程式設計者於Windows上所
寫的網路軟體(如Gopher,Telnet,FTP..), 只要支援WinSock的規格,他就不需要顧慮所
使用的網路卡是那家廠牌,因為Winsock所提供的程式庫Winsock.DLL會負起與網路底層
溝通的工作。進而使得設計者能設計出更多功能或更user friendly的網路軟體。
一個網路聊天程序
需要 客戶端,服務端
相信這兩者不需要介紹了^^
以下是客戶端代碼
我們添加兩個文本框
命名為 : Send 、Output
一個Winsock
命名為: tcpClient
兩個按鈕
Private Sub Command1_Click()
tcpClient.SendData Send.Text '將Send.Text文本框傳送至指定ip
End Sub
Private Sub Command2_Click()
tcpClient.Connect ' 與服務端連線
End Sub
Private Sub Form_Load()
tcpClient.Protocol = sckTCPProtocol '將通訊協定設為TCP協定
tcpClient.RemotePort = 10 '打開10端口
tcpClient.RemoteHost = "127.0.0.1" '服務端ip ,127.0.0.1 = 本機
End Sub
利用DataArrival事件 處理 接收到的數據
Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
Dim Data As String '宣告變數Data 為字符串
tcpClient.GetData Data '將接收到的資料 放入Data 這個變數
Output.Text = Data '將Data 輸入進 Output 文本框
End Sub
客戶端架設好了
可以來寫服務端內容了
一個按鈕
添加兩個文本框
命名為 Send 、Output
一個Winsock
命名為: tcpSever
Private Sub Form_Load()
tcpServer.LocalPort = 10 '設置本機端口 要與客戶端一致
tcpServer.Listen '監聽端口
End Sub
利用ConnectionRequest事件 來接收來自客戶端的連線請求
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
//准許連接
If tcpServer.State <> sckClosed Then
tcpServer.Close
tcpServer.Accept requestID
End If
End Sub
利用DataArrival事件 處理接收到的數據
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim Data As String '宣告變數Data為字符串
tcpServer.GetData Data '接收到的資料傳入變數 Data裡
Output.Text =Output.Text & Data '將資料傳入 Output.Text裡
End Sub
Private Sub Command1_Click()
tcpServer.SendData Send.Text '將Send.Text 傳送至遠程電腦
End Sub
一個簡單的網路 1 vs 1 聊天程序 就寫出來啦
PS: 若覺得寫的好 就支持一下吧XDD
留言列表