PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
java
[问题] 关于 Socket连线问题
楼主:
tas72732002
(葱头)
2015-06-26 23:18:35
请问一下各位大大
当Server 建立完成ServerSocket后 , 会产生一个socket来Listen
是否有Client 想要进行连线. 假设这时有Client进行连线,
Server会配置一个新的socket物件, 根据书上所说,
此时server也会使用一个新的port(非Listen port)与Client进行连线,
也就是"说Listen port与连线后实际和Client互动的port 是不同的" ?
如果这样, 能如果有100个Client进行连线,
那Server就必须使用100 port来进行服务, 加上Listen的Port为101个 ~
我好奇的是, 假设Client的防火墙挡住了新产生了port, 那不是不能连线了吗?
是我误解了吗 ?
请参考这张socket示意图 : ppt.cc/8cra3
作者:
popcorny
(毕业了..@@")
2015-06-26 23:31:00
不是你理解错就是书写错,Server Port不会变一个socket由src ip/port, dest ip/socket tcp/udp区分server port不需要变就可以分辨不同socket
作者: ctrlbreak
2015-06-27 08:40:00
clinet连出去的port不会变, 变的是server
作者:
popcorny
(毕业了..@@")
2015-06-27 09:11:00
既然都用java了.. 就把socket toString()出来看吧
楼主:
tas72732002
(葱头)
2015-06-27 09:32:00
server变了? 那client不用变吗
作者: ctrlbreak
2015-06-27 09:36:00
server接听时的port不变, 产生连线后会分一个新的port与client连线.client还是维持在建立连线时的port不会变.
作者:
mars90226
(火星人)
2015-06-27 09:45:00
http://tinyurl.com/pjt798t
client或server都不会变socket是看(socket ip/port, client ip/port)来决定每个client都会对应到不同socket
作者:
andymai
(人生只有一次)
2015-06-27 11:01:00
所谓的client就是主动连线吧,server就是收到后回复,如果双方找的门牌号码(port)不同了,那server和client的定义就不一样了吧...
作者:
shaopin
(Brian)
2015-06-27 13:47:00
以系统角度来说, 产生的是一个新的 file descriptor没有什么新的port, 旧的portJava 只是用抽象的方式把他包装起来, 称为一个新的socket我认为可能是你的书翻译有误或是你的理解有误server port 从头到尾都不会变
继续阅读
[征才] 外商公司征Sr.Java Engineer
Sheepforpart
[问题] Java有办法new C# dll中的class吗?
baconcsie
Re: [问题] 不定长度的byte阵列该怎么放?
popcorny
[问题] 不定长度的byte阵列该怎么放?
LaPass
售java考试卷
celticskg5
[问题] 参数的Parser如何撰写呢?
cjoe
[书籍] JavaSE8技术手册--林信良
Uzak
Re: [问题] java 执行时的 unicode转换问题
darkk6
[问题] java 执行时的 unicode转换问题
tas72732002
[问题] .h标头档如何写在JAVA
totemist
Links
booklink
Contact Us: admin [ a t ] ucptt.com