none
Winsock1.RemoteHos 出了問題 RRS feed

  • 問題

  • 客户端程式碼:

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Winsock1.SendData(Trim(TextBox1.Text))
        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Winsock1.LocalPort = 1007
            Winsock1.RemotePort = 1008
            Winsock1.Bind()
            Winsock1.RemoteHost = "192.168.8.2"

        End Sub

    =============================================================

    服务端程式碼:

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Winsock1.LocalPort = 1008 '本地端口
            Winsock1.RemotePort = 1007 '远程端口
            Winsock1.Bind() '绑定以上端口

        End Sub

        Private Sub Winsock1_ConnectEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Winsock1.ConnectEvent

        End Sub

        Private Sub Winsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock1.DataArrival
            Dim zjwnaa As Integer
            Winsock1.GetData(zjwnaa) '受到数据-保存在 变量zjwn  里面。。。。

            If zjwnaa = "www" Then 
                MsgBox("连接成功,接下来就可以控制我了········", vbInformation, "测试")


            End If

            If zjwnaa = "关机" Then
                Shell("shutdown  -s  -t  60") '关机的代码,30秒后强制关机
            End If

     

    ===========================甚麼問題呀?============================

    System.Runtime.InteropServices.COMException 未處理
      ErrorCode=-2146788268
      Message="發生例外狀況於 HRESULT: 0x800A9C54"
      Source="Interop.MSWinsockLib"
      StackTrace:
           於 MSWinsockLib.IMSWinsockControl.set_RemoteHost(String RemoteHost)
           於 AxMSWinsockLib.AxWinsock.set_RemoteHost(String value)
           於 WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs e) 於 C:\Documents and Settings\user\桌面\遠端\遠端\Form1.vb: 行 13
           於 System.EventHandler.Invoke(Object sender, EventArgs e)
           於 System.Windows.Forms.Form.OnLoad(EventArgs e)
           於 System.Windows.Forms.Form.SetVisibleCore(Boolean value)
           於 System.Windows.Forms.Control.set_Visible(Boolean value)
           於 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           於 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           於 System.Windows.Forms.Application.Run(ApplicationContext context)
           於 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
           於 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
           於 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
           於 WindowsApplication1.My.MyApplication.Main(String[] Args) 於 17d14f5c-a337-4978-8281-53493378c1071.vb: 行 81
           於 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           於 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           於 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           於 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           於 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           於 System.Threading.ThreadHelper.ThreadStart()
      InnerException:

    2011年2月6日 下午 01:04

解答

所有回覆

  • 1. 不要在 VBNET 內使用 VB6 的控制項。

    2. VBNET 不具 VB6 的控制項散佈權,封裝部署會出問題。你的錯誤看起來是這個問題。

    3. VB6 的控制項是單緒,VBNET 是多緒。

    4. VBNET 可以用 socket 類別直接用作收發,或是用 TcpClient / TcpListen


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年2月6日 下午 03:01
  • 1. 不要在 VBNET 內使用 VB6 的控制項。

    2. VBNET 不具 VB6 的控制項散佈權,封裝部署會出問題。你的錯誤看起來是這個問題。

    3. VB6 的控制項是單緒,VBNET 是多緒。

    4. VBNET 可以用 socket 類別直接用作收發,或是用 TcpClient / TcpListen


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

     

    我還是不明白
    你可不可以用遠端幫幫我?

    2011年2月6日 下午 03:38
  • 你可以到隔壁討論區:

    提供問題解決獎金,看看下到多少會有人應徵。
    或者到:http://support.microsoft.com/ 付費問問題。

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