我的问题是这样的
Ssk 是一个ServerSocket对象
sk 是一个socket对象public class createConnect extends Thread
{
ServerSocket Ssk;
public createConnect(ServerSocket Ssk)
{
this.Ssk = Ssk;
} public void run()
{
while(true)
{
socket sk = Ssk.accept();//建立一个链接
.......如何确认此线程到底是与谁建立的
}
}
} 我的问题是,
如果有四个用户A,B,C,D
A要发送信息给B,首先发送给服务器,服务器再确定转发给B。
如此类推。
主要的问题是我不能确定线程运行后怎么建立有标志性的Socket
比如SocketA,是指服务器与A建立的链接,
SocketB是B与服务器建立的链接,如果A发送给B那么在服务器端
就是由SocketA输入再由SocketB输出。
主要的就是不知道怎么建立有标志性的socket
请问大家有没有这方面的方法可以实现这方面的功能。不需要详细的代码,只要方法就好了,如果可以用的话,追加高分
重点是我不知道如何让服务器找出要转发的对象。
需要的是用用户名确定对象。。而不用IP和端口,你怎么可能预先知道对方的IP和端口号呢?
Ssk 是一个ServerSocket对象
sk 是一个socket对象public class createConnect extends Thread
{
ServerSocket Ssk;
public createConnect(ServerSocket Ssk)
{
this.Ssk = Ssk;
} public void run()
{
while(true)
{
socket sk = Ssk.accept();//建立一个链接
.......如何确认此线程到底是与谁建立的
}
}
} 我的问题是,
如果有四个用户A,B,C,D
A要发送信息给B,首先发送给服务器,服务器再确定转发给B。
如此类推。
主要的问题是我不能确定线程运行后怎么建立有标志性的Socket
比如SocketA,是指服务器与A建立的链接,
SocketB是B与服务器建立的链接,如果A发送给B那么在服务器端
就是由SocketA输入再由SocketB输出。
主要的就是不知道怎么建立有标志性的socket
请问大家有没有这方面的方法可以实现这方面的功能。不需要详细的代码,只要方法就好了,如果可以用的话,追加高分
重点是我不知道如何让服务器找出要转发的对象。
需要的是用用户名确定对象。。而不用IP和端口,你怎么可能预先知道对方的IP和端口号呢?
解决方案 »
- win7下装oracle10G 200分
- 如何用Struts2中用拦截器实现servlet中过滤器的功能?
- 如何Debug JAVA api源码
- 网站搭建性能问题
- 应用系统运行在jboss4.0.5上,运行几天后就会抛出“Could not obtain connection to any of these urls: localhost:1099 ”异常
- 在北京Java程序员工资多少?
- 菜鸟问题!MyEclipse下配置Hibernate连接池
- 请问高手们,当打开一个网站的主页面时,怎样实现从数据库里面检索,用mvc实现,在线等,进来有分可加,急啊
- 把 用Document类生成的XML串 存入文件时,是否有办法让它回行!增加可读性?
- 在XP下如何配置Weblogic7
- 调用校内API及原理
- 怎样才能成为Java高手?Java高手必备那些技能??
既然要转发,就得在服务端建立一个Socket的列表,记录连接到此服务器上的客户端信息。比如名字等等A要发消息给B,在A发的消息里加个标志说明我是发给B的,服务端收到以后解析这个消息,知道是发给B的后,从列表里找出B,把消息发给B。不知道我理解对你的意思没 - -
class SocketMessage
{
SocketMessage(Socket s,String n)
{
...
}
Socket s;
String name;
.....
}
当服务端accept到一个socket后就 SocketMessage sA = new SocketMessage(s,"A");然后再把这个sA添加到一个列表比如ArrayList中.