C# TcpClient与TcpListener通信时服务端丢失客户端转发的消息
客户端用的TcpClient,服务端用的TcpListener,但是在服务端进行消息转发的时候,客户度总是要丢失服务端转发的第一条消息,等到服务器转发的第二条消息的时候,...
客户端用的TcpClient,服务端用的TcpListener,但是在服务端进行消息转发的时候,客户度总是要丢失服务端转发的第一条消息,等到服务器转发的第二条消息的时候,客户端才能监听到,请教一下,这是什么情况
展开
1个回答
展开全部
不知道你连接后 是如何处理的,
连接后是要等待的,建议用异步操作,不要用while(true) 这种烂写法,会容易丢包,而且对程序也不好的。
连接后是要等待的,建议用异步操作,不要用while(true) 这种烂写法,会容易丢包,而且对程序也不好的。
更多追问追答
追问
我才刚学这个.... ..确实是用的While(true)来做的,而且现在改成异步的话,就需要改很多东西了...
我在客户端同样的While()里面监听 但是只是对于某几条指令会出现需要服务器转发两次客户端才能收到,而且一定是两次。
追答
不是两次,是要等,
你要等到 Connected 后才可以收到数据,也就是说,你服务端发早了,要等到对方连上你才可以发。
就相当于教师要等到学生来了才可以上课,而不是一个人在那里叽叽喳喳先开说了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询