none
[VB.NET 2008]請問怎樣才可以令2部電腦的同一程式互相溝通 RRS feed

  • 問題

  • [VB.NET 2008]請問怎樣才可以令2部電腦的同一程式互相溝通

    在下想弄一個有用戶間可以用ip互相連接功能的程式

    會有對話, 游戲對戰的資料互傳等等的功能

     

    但我完全不懂有甚麼指令可以有發出或者接收資料的功能

    希望有人能賜教/給一些參考連結

     

    謝謝

    2010年9月23日 下午 12:48

解答

  • [System.Net.Sockets 命名空間 ]

    這邊大概就是Socket網路應用程式的主要類別所在


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月23日 下午 12:57
    版主

所有回覆

  • [System.Net.Sockets 命名空間 ]

    這邊大概就是Socket網路應用程式的主要類別所在


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月23日 下午 12:57
    版主
  • 一見了就有不明白了.....

    TCP和UDP甚麼來的.....

    我查了維基1個是線來的一個是協定....有甚麼關係??

     

    thanks!

    2010年9月23日 下午 01:04
  • 兩個都是協定, 你需要從 OSI 7 層網路協定開始讀起. 這些基本的學理,  你要靠自己先研讀, 光要用討論區教完, 恐怕我力有未逮.

    http://www.google.com.tw/search?hl=zh-TW&&sa=X&ei=D1GbTJ2hKpTmvQOH5tiEBQ&ved=0CBwQBSgA&q=OSI+7+Layers&spell=1


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月23日 下午 01:08
    版主
  • 你要做的事,DirectPlay 已經包好多種通訊方法了。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年9月23日 下午 01:47
  • 有沒有用這些的例子:p

    有例子邊學應該較容易吧

     

    謝謝

    2010年9月23日 下午 01:54
  • http://www.google.com.tw/search?hl=zh-TW&cr=countryTW&tbs=ctr%3AcountryTW&q=Socket+%2B+Visual+Basic+.NET&btnG=%E6%90%9C%E5%B0%8B&aq=f&aqi=&aql=&oq=&gs_rfai=
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月23日 下午 02:37
    版主
  • 首先感謝你的連結:p

    我看了數個教學, 但都是鐸針對ip發送的

     

    有無有方法是發送至網址的?

     

    例如用了no-ip那些網址

    (好像叫DNS?)

    謝謝

    2010年9月25日 上午 06:55
  • Socket.Connect 方法 (String, Int32)
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月25日 上午 07:33
    版主
  • 我用了這個方法

     

    Dim myUDPClient As New UdpClient()

            Dim ServerIpAddress As IPAddress

            Try

                ServerIpAddress = IPAddress.Parse(TextBox1.Text)

            Catch ex As Exception

                MessageBox.Show("Server IP設定錯誤")

                Exit Sub

            End Try

            Dim iPort As Integer

            iPort = NumericUpDown1.Value

            Dim RemoteIpEndPoint As New IPEndPoint(ServerIpAddress, iPort)

            Dim myBytes As Byte()

            myBytes = Encoding.GetEncoding(950).GetBytes(Trim(TextBox2.Text))

            If myBytes.Length > 0 Then

                myUDPClient.Send(myBytes, myBytes.Length, RemoteIpEndPoint)

            Else

                MessageBox.Show("無資料可傳送!!")

            End If

     

    但沒有connect的指令改喔....怎麼辦....?

    2010年9月25日 下午 01:32
  • Dns 類別
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月25日 下午 03:40
    版主
  • 你的myUDPClient 就有Connect方法可以使用啊

            Dim RemoteIpEndPoint As New IPEndPoint(ServerIpAddress, iPort)

            myUDPClient.Connect(RemoteIpEndPoint)

            Dim myBytes As Byte()

            myBytes = Encoding.GetEncoding(950).GetBytes(Trim(TextBox2.Text))

            If myBytes.Length > 0 Then

                myUDPClient.Send(myBytes, myBytes.Length, RemoteIpEndPoint)

            Else

                MessageBox.Show("無資料可傳送!!")

            End If


    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度
    2010年9月25日 下午 03:48
  • 感謝感謝><

    UDP的問題暫時沒有了

    但在設計這個聊天室時發現, textbox中文字的色總是一設定就全部字就轉了

    怎樣才能只讓部份的字轉色?

     

    謝謝

    2010年9月28日 上午 10:57
  • 感謝感謝><

    UDP的問題暫時沒有了

    但在設計這個聊天室時發現, textbox中文字的色總是一設定就全部字就轉了

    怎樣才能只讓部份的字轉色?

     

    謝謝

    呀忘記了一個

    我嘗試同一個程式開2個時會出示 port已被另一個程序使用之類的東西....

    使用try中, catch ex as expression 一定會是這個錯誤嗎?

    謝謝

    2010年9月28日 上午 11:16
  • TextBox 只支援單色,請改用 RichTextBox
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年9月28日 下午 12:55
  • 呀忘記了一個

    我嘗試同一個程式開2個時會出示 port已被另一個程序使用之類的東西....

    使用try中, catch ex as expression 一定會是這個錯誤嗎?

    謝謝

    你兩個同質性的Socket使用同一個Port當然不行, 所以一開頭就建議你要先把基本知識補起來, 通訊的程式不是光靠抄Code就可以弄通的, 它有很多關於網路通訊的知識都必須要先具備.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月28日 下午 02:58
    版主
  • 學了個多星期開始懂得點點了

     

    但是現在發現, 用戶的router或是防火牆會把傳送/接收的東西都block掉了

     

    這些用戶自行設定的問題....是否開發者不能解決的?

    2010年10月25日 上午 11:23
  • 如果是用戶自行Block 的問題, 那真的是沒辦法了. 只能告訴用戶必須要開啟必要的Port.
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年10月25日 上午 11:28
    版主