我只是想让我的客户向我的服务器问好,但不能
好吧,这是一个非常简单的问题,但它让我非常生气,以至于不得不喝完一大罐水让自己冷静下来。我只是想让我的客户向我的服务器问好,但不能
编辑
增加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和其他方法,我相信我很快就会理解,但现在它令人难以置信地混淆。
请保存我的笔记本电脑戴帽子和帮助。只是一个简单的“你好”字符串到服务器,我的生活将是一个快乐的。 谢谢
我用你的代码来创建一个例子,唯一的办法,我可以让它给我一个空引用异常是如果我没有正确实例化套接字。但是没有看到你的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);
OH YES!那是行得通的,那是我的一半问题解决了......现在那个讨厌的“你好”消息怎么样? :) – 2013-03-07 23:23:12
我不得不喝两个怪物只是通过你的问题:) – mellamokb 2013-03-07 22:51:13
喝的水“壶”只是让我觉得臃肿,不提高自己的平静做到这一点。 – 2013-03-07 23:05:20
我添加了一些更多的标签,因为这不是一个真正的C#或vb.net问题,而是与异步通信相关的问题 – EdmundYeung99 2013-03-07 23:05:36