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