步驟1:概述
此程序將使您可以在同一網絡上的兩個人之間交換消息。如果您不在同一網絡上,但我現在無法對其進行測試,它可能會起作用。
您應該擁有Microsoft Visual Basic 6.0,這就是我正在使用的語言。
建議您具有基本的編程知識
打開Visual Basic并創建標準EXE
步驟2:創建用戶侵權
現在是時候創建用戶窗體
了,您需要將winsock控件添加到工具箱中。
執行以下操作:
1。右鍵單擊工具箱中沒有任何內容的地方
2。單擊組件
3。在長列表中找到Microsoft Winsock Control 6.0并選中它旁邊的框
4。然后單擊“應用”,然后單擊“關閉”
添加:
5個文本框
4個命令按鈕
1個winsock控件
將它們排列為下面的第二張圖片
第3步:重命名和其他屬性更改
我們現在將更改標題(命令按鈕中的內容)
1。單擊command1
2。在屬性的右側查找并找到Caption
3。將其更改為Host
對其余部分執行相同的操作,但將它們設置為:
command2 = Connect
command3 = Close
command4 =發送
現在我們要更改文本框的內容
1。單擊顯示為text1
2的文本框。轉到屬性窗口,然后找到“文本”屬性
3。使其空白
4。對表示Text2
5的代碼執行相同的操作。現在單擊text3并將text屬性更改為127.0.0.1
6。現在單擊text4并將text屬性更改為1234
7。現在單擊text5并將text屬性更改為Name
127.0.0.1是您的本地ip,因此當它完成的
1234是端口時,您可以在計算機上測試該程序,您可以根據需要進行設置,只需將其保留即可現在為1234
步驟4:更改按鈕和文本框的名稱
我們需要重命名命令按鈕和文本框,以使其更易于編碼
1。單擊Text1并轉到屬性,然后單擊名稱并將其更改為txtLog。我選擇它是因為它是您發送和接收的郵件的日志
2。對其余部分執行相同的操作,但命名為:
將Text2更改為txtSend
將Text3更改為txtIP
將Text4更改為txtPort
將Text5更改為txtName
將Command1更改為cmdHost
Command2更改為cmdConnect
Command3更改為cmdClose
Command 4更改為cmdSend
Winsock1更改為sckMain
現在您還需要更改另一項
單擊txtLog,然后在屬性窗口中找到MultiLine并使其正確
如果您有任何問題要發表評論或給我發消息
第5步:編寫命令按鈕
現在是時候編寫命令按鈕的代碼了。
從第一個cmdHost
1開始。雙擊它,將彈出代碼窗口
2。看起來應該像這樣
Private Sub cmdHost_Click()
End Sub
3。輸入此代碼
sckMain.LocalPort = txtPort.text
sckMain.listen
現在是什么意思?
第一行使winsocks本地端口等于文本框中的數字(txtPort)
第二行告訴winsock在該端口上偵聽嘗試連接的人
現在將其關閉并雙擊cmdConnect
輸入此代碼 sckMain.RemoteHost = txtIP.text sckMain。 RemotePort = txtPort.text
sckMain.Connect
前兩行將winsock(sckMain)的RemoteHost和RemotePort更改為我們想要的ip和端口 sckMain.Connect告訴它連接到某人偵聽該端口并ip
立即關閉按鈕
雙擊cmdClose并鍵入
sckMain.close
txtLog = txtLog.text和“連接已關閉!” &vbCrlf
sckMain.close告訴winsock斷開連接
第二行將Connection關閉到txtLog
雙擊cmdSend并鍵入
sckMain.senddata“ [”&txtName.text&“] “&txtSend.text
txtLog = txtLog.text&” [“&txtName.text&”]“&txtSend.text&vbcrlf
txtSend.text =”“
前兩行是錯誤的讓它們在編輯器中正確保存,并在我保存時更改它們,因此請查看圖片以找到正確的代碼
第一行在txtSend中發送文本,而您在txtName
中的名稱第二行添加您發送的消息和您的姓名至txtLog
第三行清除txtSend
中的文本第6步:對Winsock進行編碼
現在是時候編寫winsock了!
我們需要告訴它當有人嘗試連接時該怎么做,我們需要告訴它將接收到的數據放到哪里
確定,雙擊winsock控件(sckMain)
在代碼框的右上角應顯示:error
單擊下拉框并選擇connec要求
現在應該在這里輸入代碼
的位置了:
如果sckMain.state 《》 sckClose,則
sckMain.close
如果
sckMain結束。接受requestid
txtLog = txtLog.text和“連接到:”&sckMain.RemoteHostIP&vbcrlf
第一行和第二行檢查winsock(sckMain)是否關閉,如果沒有關閉,則將其關閉
第三行關閉if語句
第四行告訴winsock(sckMain)接受連接
第五行告訴您通過在txtLog上添加一行來建立連接
現在我們需要告訴winsock該怎么做在代碼窗口的右上角中,使用接收到的數據
單擊下拉框,然后選擇:DataArrival
現在輸入此代碼:
dim數據作為字符串
sckMain.getdata數據,vbstring
txtLog = txtLog.text和data&vbcrlf
第一行使數據成為字符串,這是將接收到的數據添加到txtLog
之前要放在其中的地方。第二行獲取數據和位置它在字符串數據中作為vbstring
第三行將接收到的數據再次添加到txtLog
,如果它令人困惑并且您有問題發表評論或給我發消息
,請再次將其添加到步驟7:使用程序/結論
好,現在我將告訴您如何在Visual Basic單擊文件中使用程序
,然后將project1.exe保存到桌面
如果有任何錯誤,請發表評論,我會盡力幫助您
現在轉到您制作該程序的位置并雙擊它兩次,然后應在一個單擊主機上彈出兩個程序
單擊“連接”,然后在單擊主機的主機上單擊“已連接”:127.0.0.1
現在為它們兩個輸入名稱,您可以在兩者之間發送消息。它在LAN上有效,并且可能可以在WAN上工作,但我不確定
-
程序
+關注
關注
117文章
3788瀏覽量
81094 -
Visual
+關注
關注
0文章
252瀏覽量
34278
發布評論請先 登錄
相關推薦
評論