问题描述
我写了一个简单的SOCKET客户端,去连接一台主机,但是SOCKET的connected属性总是为TRUE,我把网线拔掉,WIFI关掉再建立连接的话,connected属性也为TRUE,这是怎么回事啊?求帮助!下面是例程代码:创建一个Client()过程来建立连接;按钮button1事件来调用Client()过程。但是sock.Connected老是为TRUE。PublicClassForm1PublicSubClient()DimsockAsNewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)DimremoteAddrAsIPAddress=IPAddress.Parse("202.196.32.2")'ServerIPDimepAsEndPoint=NewIPEndPoint(remoteAddr,8000)'Serverport->8000sock.Connect(ep)Label1.Text=sock.Connected.ToStringIfsock.ConnectedThenMsgBox("ConnectedSuccessfully")EndIfDimmybyteAsByte()=Encoding.ASCII.GetBytes("Helloworld!")sock.Send(mybyte)sock.Shutdown(SocketShutdown.Both)sock.Close()EndSubPrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickClient()EndSubEndClass
解决方案
本帖最后由 powersun1981 于 2016-02-29 10:57:17 编辑
解决方案二:
你该不会在系统hosts文件设置了202.196.32.2指向本地的127.0.0.1了吧。
解决方案三:
msdn说的很明白了,Connected返回最后一次在该socket上进行io操作的结果是否成功