加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

笔记13:vb.net网络编程中出现的错误

发布时间:2020-12-17 07:38:52 所属栏目:百科 来源:网络整理
导读:一、为什么网络无法连接? 可能原因如下: 1、网址错误,特别是对于ipv4用数字表示时,错一个数字即错; 2、验证出错,检查用户名与密码; 3、服务器拒绝,有些服务器设置了限制,比如5分钟内3次密码错误即进行锁定IP,禁止登录。 二、“基础协议出错,服务


一、为什么网络无法连接?

可能原因如下:

1、网址错误,特别是对于ipv4用数字表示时,错一个数字即错;

2、验证出错,检查用户名与密码;

3、服务器拒绝,有些服务器设置了限制,比如5分钟内3次密码错误即进行锁定IP,禁止登录。


二、“基础协议出错,服务器协议冲突”

可能原因如下:

1、服务器设置编码不支持中文;

2、流读写错误。例如:刚创建的请求流,却对这个流进行读操作。


三、服务器认为命令无效

可能原因如下:

1、下载时,服务器上无此文件;

2、上传时,服务器目录文件设置错误。最常见的就是设置为目录而不是文件。

因为本地机一般都是把文件放进“目录”。但是FTP上传却是把本地文件上传到“服务器文件”!

例如下面就是错误的:

应设置为FTP上的文件(更兼有重命名的作用)。


三、上传程序死机状态,无法查出原因

可能原因:

1、上传文件较大,等待上传时间较长(可以较小文件进行测试是否死机)

可以用线程或者doevents来消减这种情况。

2、请求流没有关闭,程序一直循环,或者响应流后直接退出程序。

重要的是:请求流必须关闭,再获取响应。

另一个就是文件流最好关闭,因为一般情况,不关闭,流还在缓冲中,没进行设备,易丢失。

Imports System.Net
Imports System.IO
Public Class Form1
    Private Sub btnFtp_Click(sender As Object,e As EventArgs) Handles btnFtp.Click
        Dim frq As FtpWebRequest,frp As FtpWebResponse
        Dim st As Stream,fs As FileStream
        Dim byt(1024) As Byte,intCount As Integer

        Try
            frq = CType(WebRequest.Create(txtFtp.Text),FtpWebRequest)
            frq.Credentials = New NetworkCredential(txtUser.Text,txtPassword.Text)
            frq.Method = WebRequestMethods.Ftp.UploadFile
            frq.KeepAlive = True

            st = frq.GetRequestStream()
            fs = New FileStream(txtFile.Text,FileMode.Open,FileAccess.Read)
            Do While True
                intCount = fs.Read(byt,1024 + 1) '读文件流
                If intCount > 0 Then
                    st.Write(byt,intCount)             '写入请求流
                Else
                    Exit Do
                End If
            Loop
            st.Close() '========================1、特别重要:发出请求流前须必须关闭
            fs.Close() '========================2、文件缓存原因,最好关闭
            frp = CType(frq.GetResponse,FtpWebResponse) '=========3、
            frp.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        MsgBox("完成!")
    End Sub
End Class

上面1处特别重要,2处最好关闭,不然的话程序会直接到3处时,直接死机或者退出程序。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读