日期:2014-05-17  浏览次数:21196 次

C# socket编程的问题
我以前从来没有过网络编程的经验,最近做一个小程序需要网络编程。

我想了解socket.Send(byte_, byte_.Length, 0);这样我首先发送了一个文本字符串,然后我又发送了一个图片。
那我在接受的时候怎么区分哪些字节是文本的,哪些字节是图片的呢?我想文本的话可以弄个分隔符,那图片怎么办。
,我想了想我觉得应该另外开一个链接专门用于发送图片.

还有一个问题Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
这是链接建立了之后,我怎么判断链接没有断开,为什么说if (!socket.Connected)这样判断不行呢,那Connected这个属性的作用究竟是什么呢? 好像说socket.Poll(0,SelectMode.SelectRead)这样可以判断链接是否没断开,SelectMode.SelectRead,SelectMode.SelectWrite socket这两个是怎么确定的,是缓存区存在数据就是读?没有就是写?

------解决方案--------------------
设计一个包结构,包头附带包的起始位,包长度,包类型,收到后解析对应解析包结构