求助- SOCKET connected属性返回值

问题描述

我写了一个简单的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操作的结果是否成功

时间: 2024-08-04 00:02:46

求助- SOCKET connected属性返回值的相关文章

新手求助,关于函数返回值无效

问题描述 定义了一个函数publicList<string>FindFile(stringsSourcePath)返回前返回值是目标结果.但是在调用的时候List<String>list=newList<string>();list=test.FindFile(textBox1.Text);函数值为空,请教大神是什么地方出问题了? 解决方案 解决方案二:楼主的逻辑太混乱了解决方案三:返回空,就说明FindFile返回空解决方案四:你的函数体呢?鬼知道你的函数里都处理了什

请问VC#中SOCKET的Connected属性有什么用?

问题描述 貌似不可以用Connected属性来判断Socket是否处于连接状态,那么它到底有什么用呢?什么情况下Connected会是true,什么情况下是false呢?MSDN中说的"该值指示Socket在上次Send或者Receive操作时是否连接到远程主机"是什么意思呢?希望大神能帮忙解释下 解决方案 解决方案二:这个东西并不精确,他说的是上次正常收发后是这个状态,并不表示实时情况解决方案三:首先你要先正常连接远程后然后模认Connected就为true了MSDN里说的上次Sen

wcf返回值属性是引用类型报错

问题描述 wcf返回值属性是引用类型报错 套接字连接已中止.这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的.本地套接字超时是"00:09:59.9844000", wcf 方法放回类型是类,类里面有个属性是object.如果object存放值类型.返回时就没事,如果是引用类型或者datatable.就报这个错误.

求助各位大大,如何保存volley包里onresponse方法的返回值

问题描述 求助各位大大,如何保存volley包里onresponse方法的返回值 代码如下: Volley.newRequestQueue(getApplication()); RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); final HashMap<String,String> map = new HashMap<String,String>(); Request js =

wsaewouldblock-vc socket 非阻塞 异步通信 conncect 返回值为WSAEWOULDBLOCK(10035L)

问题描述 vc socket 非阻塞 异步通信 conncect 返回值为WSAEWOULDBLOCK(10035L) vc socket 实现 非阻塞异步通信,在两PC机断开网线的情况下,客户端在connect执行完毕后,返回值不为0,通过WSAGetLastError();总是返回WSAEWOULDBLOCK(10035L)和WSAEALREADY(10037L):在连接网线的情况下,总是先返回WSAEWOULDBLOCK(10035L),然后返回WSAEISCONN(10056L):在连接

wcf返回值的属性是引用类型就报错

问题描述 wcf返回值的属性是引用类型就报错 套接字连接已中止.这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的.本地套接字超时是"00:09:59.9844000", wcf 方法放回类型是类,类里面有个属性是object.如果object存放值类型.返回时就没事,如果是引用类型或者datatable.就报这个错误.

const相关-为什么一个const属性的返回值可以用 非const 型来接受呢?

问题描述 为什么一个const属性的返回值可以用 非const 型来接受呢? const int func() { int j = 8; return j; } int main() {int i = 5 ;i = func(); } 为什么可以翻译通过呢? 解决方案 const int func() 说明函数func()的返回值是一个常数,不想让对象再次被修改,因为const一定是先被初始化的 而在主函数中的:i = func(),只能说明是将一个常数值赋值给一个变量,很正常啊!!! 还不懂的

link中new出来的,没有类型的属性作为返回值怎么定义?

问题描述 link中new出来的,没有类型的属性作为返回值怎么定义? link中new出来的,没有类型的属性作为返回值怎么定义? 解决方案 只能用object,接受者用dynamic

visual studio 2008-VS2008创建socket套接字阻塞,没有返回值

问题描述 VS2008创建socket套接字阻塞,没有返回值 VS2008下编写wince的MFC程序,在Debug模式下运行调试正常,在release模式下运行到socket(AF_INET,SOCK_STREAM,IPPROTO_TCP) 阻塞,没有返回值,这是什么情况??