Topic: 高手请进:即时通讯中遇到的线程及网络连接问题

  Print this page

1.高手请进:即时通讯中遇到的线程及网络连接问题 Copy to clipboard
Posted by: redsnow
Posted on: 2006-08-10 13:35

1.通讯中,做的一个线程对应一个Socket连接,这样当连接过3000时线程就超过了3000。这样就很不稳定,有什么好的解决办法?
2.因为上边的原因,我想过通讯完马上断开连接,然后使用线程池去优化,但是这样一来,就会出来下面的问题:
U1向U2发消息,两用户均是内网用户,如果两用户不能建立p2p连接,消息将不能通过服务器中转,因为Server和U2的连接已经断开了,Server无法主动向U2发起连接。
3.关于Java中点对点连接,请问谁能提供一些资料,或者代码

2.Re:高手请进:即时通讯中遇到的线程及网络连接问题 [Re: redsnow] Copy to clipboard
Posted by: redsnow
Posted on: 2006-08-10 14:40

是不是问题太菜?怎么没人回答……
救命啊……项目急需

3.Re:高手请进:即时通讯中遇到的线程及网络连接问题 [Re: redsnow] Copy to clipboard
Posted by: ranchgirl
Posted on: 2006-08-13 06:18

If people are not familiar with the topic, they usually will not spend hours to research your problem and give you answers.

The best thingd you can do:

1) Do google search
2) Read books
3) Ask the question on a higher level forum, you might have better chance to get your solution.

I suggest you ask it at here in English:
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&f=8
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&f=27

4.Re:高手请进:即时通讯中遇到的线程及网络连接问题 [Re: redsnow] Copy to clipboard
Posted by: redsnow
Posted on: 2006-08-15 10:35

Thanks
UDPSocket+nio+ThreadPool is best way

5.Re:高手请进:即时通讯中遇到的线程及网络连接问题 [Re: redsnow] Copy to clipboard
Posted by: jackchengen
Posted on: 2006-09-16 14:43

可以试试SEDA

6.Re:高手请进:即时通讯中遇到的线程及网络连接问题 [Re: redsnow] Copy to clipboard
Posted by: yuyang98
Posted on: 2006-11-13 15:18

实际上不用维持那么多个线程,而是应该维持一个Socket列表,当收到信息时才去查询相关的socket,并发送相关信息。

7.Re:高手请进:即时通讯中遇到的线程及网络连接问题 [Re: redsnow] Copy to clipboard
Posted by: stonefeng
Posted on: 2006-12-11 22:03

可以这样解决:
每个客户端连接服务器时,自身也打开一个端口监听(固定或随机均可),同时服务器端记录下该客户端地址和端口,然后就可以断开了。当U1与U2断开,需要服务器转发信息时,服务器就可以找到U2了。而且,这样的话,服务器也不用维持那么多线程了。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923