请问Tcp连接

liaomingdong 2009-04-18 04:00:55
是这样一个小问题,在服务器启用tcplistener可以监听tcp连接,初始这个连接的时候,需要指定本地ip地址与端口,如:
listener=new tcplistener(localIP,port);
然后就可以,listener.start();启动监听。
客户端呢,只需一个tcpclient就可以连接到服务器端:
client=new tcpclient(severIP,SeverPort);
client.connect();

现在的问题是:为什么tcpclient不用指定一个本地的端口就可以连接到服务器去了?而只需指定服务的IP与端口?那个套接字连接起来后,服务端给客户端发送信息时,不是要发送到客户端的一个端口中的吗?客户端连接服务端的时候为什么不用指明?
这中间通信的原理是怎样的?

...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
foutcast 2009-04-18
  • 打赏
  • 举报
回复
用tcpclient的客户端端口是系统分配的,不是指定的。在服务端获得客户端连接的时候服务端会知道客户端的端口号
liaomingdong 2009-04-18
  • 打赏
  • 举报
回复
哎,果然是这样啊,我当时只时胡猜,没想过tcp/ip啊,可怜。。。。
vrhero 2009-04-18
  • 打赏
  • 举报
回复
客户端是临时通信的套接字,由系统自动分配...去学学TCP/IP...

111,126

社区成员

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

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

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