我只是想让我的客户向我的服务器问好,但不能

问题描述:

好吧,这是一个非常简单的问题,但它让我非常生气,以至于不得不喝完一大罐水让自己冷静下来。我只是想让我的客户向我的服务器问好,但不能

编辑

增加C#中的标签太多,一个C#的答案将被罚款了。

基本上我在微软的网站http://msdn.microsoft.com/en-us/library/bbx2eya8.aspx上实现这个异步客户端/服务器的例子。

现在我有一个项目实例运行服务器和服务器是好的,只是等待连接。

我想了解.NET中的asynhronous通信模型,我只是希望我的client.vb打招呼谁在端口2000

本地监听服务器在微软例子的代码很长,我正在努力理解它,但现在我只想要一个简单的几行代码向我的等待服务器说“你好”。

Dim ipHostInfo As IPHostEntry = Dns.Resolve(Dns.GetHostName()) 
    Dim ipAddress As IPAddress = ipHostInfo.AddressList(0) 
    Dim localEndPoint As New IPEndPoint(ipAddress, 2000) 
    clientSocket.BeginConnect("localhost", 2000, AddressOf ConnectionMade, clientSocket) 

上述不工作,我得到一个空指针异常。微软例子中有很多回调函数,acceptcallback和其他方法,我相信我很快就会理解,但现在它令人难以置信地混淆。

请保存我的笔记本电脑戴帽子和帮助。只是一个简单的“你好”字符串到服务器,我的生活将是一个快乐的。 谢谢

+3

我不得不喝两个怪物只是通过你的问题:) – mellamokb 2013-03-07 22:51:13

+2

喝的水“壶”只是让我觉得臃肿,不提高自己的平静做到这一点。 – 2013-03-07 23:05:20

+1

我添加了一些更多的标签,因为这不是一个真正的C#或vb.net问题,而是与异步通信相关的问题 – EdmundYeung99 2013-03-07 23:05:36

我用你的代码来创建一个例子,唯一的办法,我可以让它给我一个空引用异常是如果我没有正确实例化套接字。但是没有看到你的clientSocket或ConnectionMade方法的声明,很难说。

IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); 
IPAddress ipAddress = ipHostInfo.AddressList[0]; 
IPEndPoint localEndPoint = new IPEndPoint (ipAddress, 2000); 
Socket clientSocket = new Socket(SocketType.Raw, ProtocolType.IPv4); 
clientSocket.BeginConnect("http://www.google.com", 80, new AsyncCallback(method), clientSocket); 
+0

OH YES!那是行得通的,那是我的一半问题解决了......现在那个讨厌的“你好”消息怎么样? :) – 2013-03-07 23:23:12