我的问题是这样的
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和端口号呢?
既然要转发,就得在服务端建立一个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中.