Giúp em fix lỗi trong VB.NET

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

Post Reply
nguyencaonhan2712
Posts: 2
Joined: Mon 26/09/2016 12:57 am
Has thanked: 1 time

Giúp em fix lỗi trong VB.NET

Post by nguyencaonhan2712 »

Em mới làm quen với VB.NET. Code của em gặp lỗi NullReferenceException was unhandled
Code đây ạ:

Code: Select all

Imports System.Net
Imports System.Net.Sockets
Public Class Form1
    Dim TCPServer As Socket
    Dim TCPListenerz As TcpListener
    Private Sub Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Connect.Click
        Dim sendbytes() As Byte = System.Text.Encoding.ASCII.GetBytes(TextBox2.Text)
        TCPServer.Send(sendbytes)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TCPListenerz = New TcpListener(IPAddress.Any, 1000)
        TCPListenerz.Start()
        TCPServer = TCPListenerz.AcceptSocket()
        TCPServer.Blocking = False
        Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try
            Dim rcvbytes(TCPServer.ReceiveBufferSize) As Byte
            TCPServer.Receive(rcvbytes)
            Ans.Text = System.Text.Encoding.ASCII.GetString(rcvbytes)
        Catch ex As Exception
        End Try
    End Sub

    Private Sub Reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reset.Click
        Ans.Text = ""
    End Sub
End Class
cụ thể là em gặp lỗi trên ở dòng

Code: Select all

TCPServer.Send(sendbytes)
Mong mọi người giúp em fix lỗi này. Em cảm ơn nhiều!
User avatar
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Posts: 1296
Joined: Fri 18/07/2008 12:08 pm
Location: Kiên Giang
Has thanked: 8 times
Been thanked: 116 times
Contact:

Re: Giúp em fix lỗi trong VB.NET

Post by gtdcomputer »

Hình như bị lỗi TCPServer chưa đc khởi tạo.
Theo mình nhớ kết nối Socket là: mở Lister > Accept client > Senddata
Tức là phải hoạt động Button2 trước mới, có client kết nối vào. Thì hàm Connect_Click mới hoạt động đc :v
Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật
nguyencaonhan2712
Posts: 2
Joined: Mon 26/09/2016 12:57 am
Has thanked: 1 time

Re: Giúp em fix lỗi trong VB.NET

Post by nguyencaonhan2712 »

Có thể cho em hỏi vậy phải khởi tạo TCPServer sao không ạ? Em mới làm quen với VB chưa lâu nên không rành thao tác. Lúc chạy thử em chạy Button2 trước thì bị treo, phải sửa thế nào ạ?
User avatar
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Posts: 1296
Joined: Fri 18/07/2008 12:08 pm
Location: Kiên Giang
Has thanked: 8 times
Been thanked: 116 times
Contact:

Re: Giúp em fix lỗi trong VB.NET

Post by gtdcomputer »

Vì để gọi một đối tượng bất kỳ phải khởi tạo new nó mới sử dụng được. Hình như .NET nó theo hướng đối tượng nên nó thế :v

Cái butom2 là cần 2 đầu, client và server, nếu ko bắt được client thì server bị treo, vì liên tục chờ phản hồi. (Đoán là thế =)) )
Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật
Post Reply

Return to “Visual Basic .NET và C# (VB.NET & C#)”