• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    如何做個簡單的聊天軟件

    互聯網改變了人們的生活,也帶動了編程產業的發展,今天我就來教大家如何用Visual Basic6.0做個簡單的屬于自己的聊天軟件。需要用到VB6.0里的winsock控件。老規矩:左鍵用紅色箭頭,右鍵用綠色箭頭,長按拖動用灰色畫筆。

    工具/原料

    • Visual Basic6.0
    • 服務器(此經驗定義為(服務器是你的電腦,客戶端是對方的電腦))

    如何添加Winsock控件

    1. 1

      打開VB,新建一個標準exe工程。

    2. 2

      ①右鍵“控件欄”;

      ②單擊“部件”選項;

      ③選擇Microsoft Winsock Control 6.0(一定要點左邊的方框),點擊“確定”;

    3. 3

      這時,控件欄上就多了個Winsock控件。(此控件對于登錄程序,網絡通訊來說具有重要作用)

    制作專屬聊天軟件(客戶端)(給對方電腦用)

    1. 1

      點擊窗體的右下角拖動擴大窗體。

    2. 2

      在窗口中添加:一個winsock控件、兩個文本框控件、一個按鈕控件。(如圖所示)

    3. 3

      ①點擊最大的文本框控件,把屬性欄的“Text”屬性中的文本刪除,同樣,把小文本框的也刪除。

      ②點擊按鈕,把“Caption”屬性改為“發送”;

      ③點擊左上角的From1,然后在屬性欄中把“Caption”屬性改為“客戶端”。

      ④點擊winsock控件,把winsock控件的RemoteHost屬性改成你服務器(或者你電腦)的IP地址(查看IP地址的方法自行百度),把RemotePort改為1000。

    4. 4

      雙擊任意一個控件,進入代碼輸入框。(控件欄、事件欄如圖所示)(注意:中括號里的內容不要輸入)(請輸入粗體字)

      ①在控件欄中選擇“Form”,在事件欄中選擇“Load”(這代表著當窗口生成時會發生什么事)。下面代碼框中就會出現“Private Sub Form_Load()...End”,在上下兩行的空白處輸入“winsock1.Connect”(意思是當窗口生成時,連接對方)

      ②同理,控件欄選擇“Command1”,事件欄中選擇“Click”【意思是按鈕按下時】,空白處輸入

      Call Winsock1.SendData(Text2.Text)【意思是發送小文本框的內容】

      Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】

      Texe1.Text=Text1.Text & vbCrLf & "我:" & Text1.Text & Text2.Text【意思是把小文本框里的內容加到大文本框里】

      Text2.Text = ""【意思是把小文本框里的內容清除】

      ③控件欄選擇“winsock1”,事件欄中選擇“DataArrival”【意思是當收到對方消息時】,空白處輸入

      Dim message As String【意思是定義message為字符串,此步的意義是制造個叫做message的盒子,把信息裝到里面去,方便運輸】

      Call winsock1.GetData(message)【意思是獲取信息,裝到message里】

      Text2.Text=Text2.Text & vbCrLf "對方:" & message【意思是把信息放到大文本框上】

      Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】

      ④控件欄選擇“Form”,事件欄中選擇“Terminate”【意思是當你關閉窗口時】,空白處輸入winsock1.Close【意思是關閉連接】

    5. 5

      代碼效果如圖。(可以把多余的刪掉)

    6. 6

      點擊最左上方的“文件”,點擊下面的“生成工程1.exe”,選擇保存的地方。生成后別忘了發給你朋友用。關閉VB(可以不保存內容)。

    制作專屬聊天軟件(服務端)(留自個兒用)

    1. 1

      打開VB,再新建個標準EXE,再添加winsock控件。然后,第一步(添加控件),和上面客戶端的第一步一樣。(一定要保證大的文本框是Text1,小的是Text2)

    2. 2

      ①點擊最大的文本框控件,把屬性欄的“Text”屬性中的文本刪除,同樣,把小文本框的也刪除。

      ②點擊按鈕,把“Caption”屬性改為“發送”;

      ③點擊左上角的From1,然后在屬性欄中把“Caption”屬性改為“服務端”。

      ④點擊winsock控件,把RemotePort改為1000。

      (圖片就不必了吧)

    3. 3

      雙擊任意一個控件,進入代碼輸入框。(注意:中括號里的內容不要輸入)(請輸入粗體字)(我用XXXX_XXXX代表什么控件_什么事件)

      ①Form_Load中輸入

          winsock1.LocalPort = 1000【意思是定義1000端口,給對方鏈接進來】

          winsock1.Listen【意思是偵聽,等待對方連接】

      ②Command1_Click中輸入

          Call Winsock1.SendData(Text2.Text)【意思是發送小文本框的內容】

          Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】

          Text1.Text = Text1.Text & vbCrLf  & "我:" & Text1.Text & Text2.Text【意思是把小文本框里的內容加到大文本框里】

          Text2.Text = ""【意思是把小文本框里的內容清除】

      ③winsock1_DataArrival中輸入

      Dim message As String【意思是定義message為字符串,此步的意義是制造個叫做message的盒子,把信息裝到里面去,方便運輸】

      Call winsock1.GetData(message)【意思是獲取信息,裝到message里】

      Text2.Text = Text2.Text & vbCrLf &  "對方:" & message【意思是把信息放到大文本框上】

      Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】

      ④winsock1_Close(意思是當winsock關閉時)中輸入

      winsock1.Close【意思是對方的winsock關閉,我的winsock也關閉】

      winsock1.Listen【意思是偵聽下一次連接】

      ⑤winsock1_ConnextionRequest【意思是對方請求連接時】中輸入

      If winsock1.State<>sckClosed Then

          winsock1.Close

      End If【此段的意思是如果:winsock的狀態不是在關閉中,那就讓他關閉】

      Call winsock1.Accept(requestID)【意思是接受新的連接】

    4. 4

      和上面的第六步一樣,但是這個留你自個兒用。

    注意事項

    • 只能兩臺電腦進行通訊。(多臺聯合比較復雜,需要進一步學習)
    • 用的時候先打開客戶端再打開服務端。
    • VB6.0編程語言是不是很有趣?有其他問題請在下方“我有疑問”中留言。
    • 上個經驗版本V第二代,于2017/8/8更新,上次編輯時間2017/7/21。修改地方:①服務端第三步驟Texe2.Text改為Text2.Text。②多處地方加上Text2.Text & vbCrLf &
    • 此經驗版本為V3.0,于2018/2/3更新,上次編輯時間為2017/8/8。修改地方:“......處輸入“Winsock1.Connect”(意思是......” 的大寫W改為小寫w。
    • 作者有強迫癥,追求完美,希望讀者們能夠提出建議,改正此經驗的錯誤。
    • 發表于 2018-02-04 00:00
    • 閱讀 ( 860 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆