vb.net中关于 socket的连接服务器失败问题! 怎么处理连接失败?

vb.net中关于 socket的连接服务器失败问题! 怎么处理连接失败?,第1张

用 try-catch 结构,捕获 SocketException,示例:

Try

    // 可能产生错误的代码

Catch ex As SocketException

    MessageBoxShow("连接失败,原因是:" & exMessage)

End Try

 

PS 好久不写 VBNET 的了,这个是根据 C# 和记忆中的样子写的,题主看明白思路就好。

不是这样的, 它绑定你给它的IP (不分内外网),如果你的程序在服务器端(服务器必须有一个固定的IP)运行,你的代码读取本机IP时 就是那个固定IP了,当你的程序在动态DNS网络里运行时,读取的就是内网IP了,只有网络内的客户机才能连上,你用个办法查出外网IP ,直接给vbnet socketbind,外网的人才能连接到你的 电脑,希望能帮到你

可以。

首先要明确,如果要发现局域网中是否存在xml文件,据我所知只有两种方式,一个是该机器提供共享网络服务,如局域网共享或安装有web服务器等;另外一种方式是入侵,通过端口建立连接然后取得该机器上的数据。

对于你的情况,采用第一种方式即可。

将xml文件所在目录都共享出来,然后使用socket方式登录在获取到xml。

接收到客户端数据,处理完毕

//返回信息给客户端

string sendStr = "ok!Client send message successful!";

byte[] bs = EncodingASCIIGetBytes(sendStr);

clientSend(bs, bsLength, 0);

//关闭套接字

clientClose();

客户端发送完数据等待服务端返回处理结果

//

///接受从服务器返回的信息

string recvStr = "";

byte[] recvBytes = new byte[1024];

int bytes;

bytes = clientReceive(recvBytes, recvBytesLength, 0);//从服务器端接受返回信息

recvStr += EncodingASCIIGetString(recvBytes, 0, bytes);

label15Text = DateTimeNowToString() + ":" + recvStr;//显示服务器返回信息

///一定记着用完socket后要关闭

//关闭套接字

clientClose();

socketio是一个WebSocket协议的实现,用它你可以进行websocket通信,这是应用层

nodejs netsocket是系统socket接口,用它你可以操作linux socket,这是传输层

websocket协议本质上也是使用系统socket,它是把socket引入了http通信,也就是不使用80端口进行http通信。

它的目的是建立全双工的连接,可以用来解决服务器客户端保持长连接的问题。

socketio只是websocket协议的一种实现。除此之外,HTML5也对websocket定义了对应的API,由浏览器等客户端程序实现它。这样最上层的web应用程序就能直接使用websocket连接了。

这个很正常,因为服务器(对方)还没对客户端(本地)做Close动作。还有一个说法是本地端控件的缓存还存在着与服务器对应Handle,只是State属性状态不是sckConnected而已。继续进行测试,你也会发现只要超过60秒通信闲置,也会自动Not sckConnected。

TCP连线,可以使用Load 控件数组进行尝试连线,当控件Close后就Unload,这可以取代必须关闭窗体、重新打开连接的问题。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » vb.net中关于 socket的连接服务器失败问题! 怎么处理连接失败?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情