a:客户端 
b:客户端
bridge:连接客户端a,b之间的桥梁。(现在就做bridge的部分)数据的流程;完整的数据流,每次只能作为一个整体来处理。
a->bridge->b(处理)->bridge->a端口:
a<--1111端口--->bridge
bridge<--2222端口--->b求告人看看实现原理。我现在在bridge中开两个线程,两个socket,分别来处理a--bridge,bridge---b之间的通信。但是两个线程同步问题解决不了啊。

解决方案 »

  1.   

    可以同步啊
    a——>b的时候
    肯定是bridge接收到a的连接socket,并且接收a发送过来的信息
    然后bridge再建立跟b的连接,把a的msg发送给b
    所以没必要建两个线程,建一个就行了  因为两个过程是有先后顺序的
      

  2.   

    回复人:tuyile006(小y) ( 三级(初级)) 信誉:100  2007-01-12 11:28:00  得分:0
    -----------------------------------------
    说的对。但要求要用两个线程。
      

  3.   

    我现在是在线程A中,把B join近来。等B结束后,A再把数据,发送回去。
    这样做一次是成功的。但再发送接收就出错。
      

  4.   

    你的意思是不是由a到b,和由b到a,分两个线程,互不干扰?
      

  5.   

    a---bridge     A个线程
    bridge---b     B个线程
      

  6.   

    brige做个类似于服务端的程序,当用111端口收到a的信息后用222转发给b,b到a类似,可以开两个线程(个人意见)
      

  7.   

    用bridge 来监听来至A或B的消息,然后做处理发送给它们
      

  8.   

    你要是用UDP协议写的,数据丢失很正常,你可以用TCP协议写这个Socket的。