se小白,明白一二的请指点。
第一个小问题啊…客户端和服务端连接定义的socket端口号必须是一致的么。我理解是要一致的…
2.什么情况会显示端口号被占用呢?
服务端和客户端建立了连接,再有一个客户端去连接服务端会显示么?
3.如果以上的问题是的话。那么多线程写一个服务端连接多个客户端的时候,是怎么理解的。
一对一的能理解,一对多的时候,端口怎么分配的没找到答案。端口号被占用是怎么一回事
java socket在服务器使用serverSocket需要设置端口,在客户端使用Socket需要设置服务器的ip和服务器的端口,所以在java客户端使用socket是不需要设置端口的。java底层完成了端口的分配,而我认为服务器的端口和客户端是不需要一致。
关于端口被占用,建议把服务器的端口设置的高一点(大于10000),并且两个serverSocket不要设置一样的端口,不然会报错.
关于如何完成一对多,只用在服务器处储存接收到的socket,这里是用serverSocket的accept方法。一个socket对象本身应该封装了tcp通信的全部信息,包括ip地址和端口号。
客户端和服务端连接定义的socket端口号必须是一致的么
不需要一致
什么情况会显示端口号被占用呢?
一个主机有多于一个程序监听同一个端口
多线程写一个服务端连接多个客户端
没问题啊,一个端口本来就可以监听多客户端发来的信息。
服务启动就会占用一个端口。这个端口允许客户端连接上来,所以,客户端连接上来就可以有多个客户端。
端口被占用就说明已有服务使用了这个端口。
客户端和服务端连接定义的socket端口号必须是一致的,采用Java实现是比较容易的,用套接字socket就行了
我理解是在java里写两个测试程序,客户端需要设置socket端口啊,服务端也需要设置,这两个端口不一致连接不了呀。所以需要一致
但是端口占用的情况,当多线程时两个客户端都和服务端的端口号一样,为什么不会显示端口已占用