如果同一台机器启动两次客户端程序并连接服务器。服务器怎样区分这两个连接!

sinsou 2002-11-05 03:48:21
谢谢!
...全文
286 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
HuWenjin 2002-11-08
  • 打赏
  • 举报
回复
知道了,你是说 同一IP 同一端口开两个连接 到服务器,那么我和你说,客户边是不可能正确的,因为我记得同一个IP,同一个端口做连接服务时,是不可能用同一个端口的,你调用 CONNECT 时也没有指出本机使用的端口吧。只是指出了要连接到目标机器的端口,所以同一IP同一端口好象是不可能发生在同一台机器上的。

对于服务器方,则每次ACCEPT时会产生一个SOCKET这个SOCKET就是和某一个客户端对话的SOCKET,服务器会自生成不同的SOCKET,你可能在ACCEPT时获取相应的连接信息(如果需要的话)
Bind 2002-11-08
  • 打赏
  • 举报
回复
不知道你要实现什么,不过对于服务器而言,这两个联接的SOCKET句柄是不一样的,如果用的是MFC的SOCKET类那么其m_hSocket成员是不一样的。
导工 2002-11-06
  • 打赏
  • 举报
回复
告诉你我学socket时做的一个实验。我有一个server.exe 在监听7000号端口,客户端client.exe 建立socket时没有绑定,所以两个进程被系统分配了1197和1200端口。下面是netstat 执行结果。

C:\>netstat

Active Connections

Proto Local Address Foreign Address State
TCP strawberry:1197 strawberry:7000 ESTABLISHED
TCP strawberry:1200 strawberry:7000 ESTABLISHED
TCP strawberry:7000 strawberry:1197 ESTABLISHED
TCP strawberry:7000 strawberry:1200 ESTABLISHED


可以看出,有两个ESTABLISHED的连接,就是最后两行,是server.exe的,其本地端口都是7000,而且用netstat /a 还可看出还有一个7000端口的listening 。所有程序都在同一个机器上。
yanhuahui 2002-11-06
  • 打赏
  • 举报
回复
如果你客户端的端口一样的话,你的程序将出错!然后就用你accept函数后两个参数去分别不同的socket。
两个socket的端口是相同的?错误!我刚才去做了一个测试,不同的,accept的socket的ip地址是远端的ip地址,如果服务器与客户机在同一台机器上,那他们的端口肯定是不一样的,端口代表着所在的进程的ID号,不可能相同;如果服务器与客户机不在同一台机器上那还有可能一样。更正binarier(沙子) ( )
jonescheng 2002-11-06
  • 打赏
  • 举报
回复
你可以用用结构。然后把结构放入链表中。
这样就可以区分了。具体实现方法如果
你要的话我可以把我做的程序发一份给你
yanhuahui 2002-11-06
  • 打赏
  • 举报
回复
你那个是用来监听的端口,那时属于专门用来listen的socket,人为规定的7000,当然一样。accept后的创建的socket它的端口为动态分配的,不是监听socket的端口。
导工 2002-11-05
  • 打赏
  • 举报
回复
看来你是用的TCP协议。
首先,两个客户端的端口肯定不同,因为客户端不用绑定端口,就算绑定也绑不到同一个端口。
其次,服务器端用socket来区分,每次accept得到的socket是不一样的,你可以在这两个socket是分别读写,而且两个socket的端口是相同的。
Rigel 2002-11-05
  • 打赏
  • 举报
回复
不好办,我的程序还没做完,好象也有这个问题。
我没有保留连接,每次发送接收后就关掉Socket了,我的做法比较苯。
sinsou 2002-11-05
  • 打赏
  • 举报
回复
是不是NetBios 有连接的列表啊,列表里面的值能标识这些连接啊??
wangqiao 2002-11-05
  • 打赏
  • 举报
回复
为了区分,让客户程序自动分配端口!这样服务器程序根据端口来判断了!
sinsou 2002-11-05
  • 打赏
  • 举报
回复
to Saimen
不是啊,我要让它能开多个连接的
to cdutgch
两个连接连的同一个服务器程序,端口、IP都是一样的
柏小洋 2002-11-05
  • 打赏
  • 举报
回复
socket不一样,端口也不同!
HuWenjin 2002-11-05
  • 打赏
  • 举报
回复
服务器在 ACCEPT 时保存客户的IP
和上次的做比较,如果相同就不再 ACCEPT

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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