C#-Socket通信如何实现?
最近做项目,需要用C#语言写个UDP的底层通讯的类。看了2本书,书上说的都好象简单了些。
后来请教了高手一些思路。3个线程:1-用来send数据包;2-用来receive数据包;3-用来判断超时。当数据包send出去后,就把包标识等等信息放到一个链接表中去,然后等候应答。如果1秒种后没收到应答就再send一次,连续3次没收到应答,就把该包从链接表中摘掉,返回一个消息;如果有receive到应答,就到链接表里去找对应的包,找到后返回消息,同时把包从链接表中摘掉。
知道思路,可是还是不知道应该怎么写。哪位高手有写过类似的通讯类。请发份到我邮箱:jacky962848@163.com 万分感谢!!!!!!!
------解决方案--------------------如果楼主普通英文过关,给你一个链接去看
http://www.java2s.com/Code/CSharp/Network/Udp-Client.htm
------解决方案--------------------LZ 是要用UDP的Multicast 发包吗?如果是,可以看这个例子,我当初做Multicast 就是看的这个:
http://www.codeproject.com/cs/internet/multicast.asp
另外还有个Socket异步接收的例子,不知道是否有用,同一个网站上的:
http://www.codeproject.com/cs/internet/socketsincs.asp
E文文章,注册可下源代码.
------解决方案--------------------去看看MSDN中的UDP协议通讯吧。不会难的
注意 服务端建立监听,监听到之后,抛出一个线程处理事件。
其他思路,你都说了。这边就不说了
------解决方案--------------------jacky962848() 我做的思路和你的差不多,只是用类不一样,我是在服务端把要用的数据整理好,并等待接收客户端发来的某种特征码,当收到后就向客户端发送相应的数据,客户端只需要读取和显示就OK了!!!你加我QQ吧!25691