日期:2014-05-19  浏览次数:20814 次

求Socket Tcp连接的客户端的例子!
上次解决组播的问题之后,现在有一个Tcp方式接受数据包的问题,由于我是初学者,所以对用Socket的Tcp方式接受数据包不熟悉,我的代码如下:
                                        Socket                                           tcpReceiveVideoSocket   =   new   Socket(AddressFamily.InterNetwork,   SocketType.Stream,   ProtocolType.Tcp);                      
                                        tcpReceiveVideoSocket.Connect(new   IPEndPoint(IPAddress.Parse( "192.168.2.108 "),   9000));
                                                                                IPHostEntry   hostEntry   =   Dns.GetHostEntry(Dns.GetHostName());
                                        IPEndPoint   endPoint   =   new   IPEndPoint(hostEntry.AddressList[0],   tcpPort);                                                  
                                        tcpReceiveVideoSocket.Receive(msg);

怎么接受都接受不到数据包,老是报如下的错误:
“在   System.NullReferenceException   中第一次偶然出现的“test.exe”类型的异常”
这是为什么呢?

各位有比较好的例子吗?给我一个啊,这几天做项目,从单播方式到组播方式再到Tcp方式,现在就差Tcp方式接受数据包的问题啦,大家快帮助帮助我啊,谢谢!


------解决方案--------------------
给你找了一个带源代码的文章(E文的),还是在Code Project上,关于Socket的信息加密后异步发送和接收,其中有打包和拆包的部分(Check message header, Sending packets 和 Receiving packets)你可以仔细研究一下.如果整篇文章都吃透了,对以后做Socket受益匪浅.


http://www.codeproject.com/cs/internet/AsyncSocketServerandClien.asp
------解决方案--------------------
System.NullReferenceException 是一个空引用异常,和Socket无关,你调试一下看看是哪个变量没有初始化就引用了!
------解决方案--------------------
关注,帮顶了