问题:
连接到服务器A上的N个Socket,每一个socket 上送的数据byte []buffer我现在把 所有的buffer 丢给另一个Socket_Tran 转发到另一台服务器B上去.同时服务器B会有数据回来给Socket_Tran 再由 Socket_Tran 把数据丢给
对应的服务器A上的socket ,请问大家有什么好办法.保证数据转发时不乱..本人做消费者生产者模型来做.但调试的时候还是有乱的现象..请大家请点或重新给思路.
连接到服务器A上的N个Socket,每一个socket 上送的数据byte []buffer我现在把 所有的buffer 丢给另一个Socket_Tran 转发到另一台服务器B上去.同时服务器B会有数据回来给Socket_Tran 再由 Socket_Tran 把数据丢给
对应的服务器A上的socket ,请问大家有什么好办法.保证数据转发时不乱..本人做消费者生产者模型来做.但调试的时候还是有乱的现象..请大家请点或重新给思路.
现在全是异步收.问题是Socket_Tran 收到数据丢给谁的问题. Socket_Tran.BeginReceive 得到的数据可没有ID呀
标识
Socket_Tran 发出去的数据是 服务器A上某个socket_N 接收到的byte[] bufferServer而 Socket_Tran 接收到数据 byte[] bufferClient 后。再把bufferClient 丢给 服务器A上某个对应有socket_N,由socket_N把 bufferClient Send(bufferClient) 出去。
然后通过Socket_Tran去对那个队列的数据进行转发/接收。(这里应该有个标识是转发,还是接收的)也可以开两个队列:一个接收,一个转发。但同时要两个Socket_Tran对应。
说明
现在
socket1 收到的数据byte []buffer1 让 Socket_Tran发出去. socket2 收到的数据byte []buffer2 让 Socket_Tran发出去.而同时:Socket_Tran 接收到 byte []bufferTran1 他要丢给谁去发的问题,是socket1 去是socket2 去发的问题。合理的的结果是这样: byte []buffer1 发出去。Socket_Tran接收到的对应的bufferTran1 由socket1 去发。如果bufferTran1=null则socket1 不发。 byte []buffer2 发出去。Socket_Tran接收到的对应的bufferTran2 由socket2 去发。如果bufferTran2=null则socket1 不发。现在没有任何手段去识别 Socket_Tran接收到的数据是谁的