Socket编程的简单问题。

zyw2833 2004-10-10 05:08:14
我要如何获得本机的一个端口有多少客户已经连接,并且取得客户的IP?
...全文
187 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyw2833 2004-10-11
  • 打赏
  • 举报
回复
各位有没有实例阿,贴一个上来看看。
MiniNET 2004-10-10
  • 打赏
  • 举报
回复
help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemnetsocketssocketclassselecttopic.htm
nishengqiang04 2004-10-10
  • 打赏
  • 举报
回复
gz
herony420 2004-10-10
  • 打赏
  • 举报
回复
远程客户:socket.RemoteEndPoint.Tostring(),这个在发生数据传送或者连接时都会得到

至于在线人数:我觉得最简单的方法是,维护一个hash表,这个表当服务器接受一个连接后就增加一个
,当然,当客户端发生异常退出时关闭socket并在hash表中除去这个连接。

建议:hash表的key使用socket对象,而不是ip地址,因为一个ip可能允许多个客户的连接
Samen168 2004-10-10
  • 打赏
  • 举报
回复
服务端维护
sexfreebird 2004-10-10
  • 打赏
  • 举报
回复
刚接触socket,学习ing!帮顶
2002pine 2004-10-10
  • 打赏
  • 举报
回复
简单的很,你在服务器端维护客户连接
listener.Start();
Console.WriteLine("正在等待客户端连接");
Console.WriteLine("按 Ctrl+C 退出...");

while (cont)
{
// 接受将阻塞,直到有人连接
Socket socket = listener.AcceptSocket();
List.add(socket.RemoteEndPoint.Tostring());
zyw2833 2004-10-10
  • 打赏
  • 举报
回复
有没有什么好的办法可以得到局域网现在有多少用户正在线阿?
我现在是这样写的。好慢。
list.Items.Clear();



for (int i = 1;i<=255;i++)
{

string IP = "192.168.0." + i.ToString();;


myServer = new IPEndPoint(IPAddress.Parse(IP), myPort);
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);



try
{
socket.Connect(myServer);





if(socket.Connected)
{

bool addBool = true;

for(int iii=0;iii<list.Items.Count;iii++)
{

if(list.Items[iii].SubItems[0].Text == IP)
{

addBool = false;
break;
}
else
{

continue;
}

}

if(addBool)
{
ListViewItem objItem = new ListViewItem();
objItem.SubItems[0].Text = IP ;
objItem.SubItems.Add(Dns.GetHostByAddress(IPAddress.Parse(IP)).HostName) ;
list.Items.Add(objItem);
}
}


}







catch
{




for(int ii=0;ii<list.Items.Count;ii++)
{

if(list.Items[ii].SubItems[0].Text == IP)
{

list.Items[ii].Remove();
break;
}


}

}

trnbo 2004-10-10
  • 打赏
  • 举报
回复
Socket.Select 方法
zyw2833 2004-10-10
  • 打赏
  • 举报
回复
就是我想做一个局域网通讯这样的东西,我要如何维持在线用户呢?
elite2018 2004-10-10
  • 打赏
  • 举报
回复
mark
wangxt 2004-10-10
  • 打赏
  • 举报
回复
帮你顶
wangsaokui 2004-10-10
  • 打赏
  • 举报
回复
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemnetsocketssocketclassselecttopic.htm
zyw2833 2004-10-10
  • 打赏
  • 举报
回复
都不愿意回答阿。嫌分少可以再加,只要能解决问题。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧