2009-09-29 2 views
1

Voici un problème avec une prise que j'ai:de liaison et la connexion à l'aide de prises en vb.net

Public Sub Connect(ByVal server As String, ByVal port As Integer) 
     Dim IP As IPAddress = IPAddress.Parse(server) 
     Dim EP As IPEndPoint = New IPEndPoint(IP, port) 
     sock.Bind(EP) 
     sock.Connect(server, port) 
    End Sub 

La prise est déclarée comme celui-ci, en haut du code:

Dim sock As Socket 

Qu'est-ce qui ne va pas ici? Il indique que la référence d'objet n'est pas définie sur une instance d'un objet, qui est une exception NullReferenceException.

Merci pour votre aide! C'est en vb.net à propos, et j'ai importé les espaces de noms appropriés.

Répondre

3

Le code attribue-t-il une nouvelle instance de Socket à la variable Sock? semble que l'objet est nul car aucune assignation n'a été faite à la variable.

EDIT
Initialiser la prise pourrait être fait comme ceci:

sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp) 

En supposant que vous utilisez IPV4 et que vous voulez lire et écrire octets de la prise comme un ruisseau. En ce qui concerne le protocole ... J'ai spécifié UDP ici, mais cela dépendra de ce que vous essayez de parler.

+0

K, quelle est la syntaxe appropriée? Je ne savais pas ce que AddressFamily ou SocketType ou ProtocolType à spécifier. – Cyclone

0
Dim MonSocketClient As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp) 
Questions connexes