黑马程序员技术交流社区

标题: UDP端口 [打印本页]

作者: 郭振    时间: 2012-5-16 17:20
标题: UDP端口
本帖最后由 郭振 于 2012-5-16 17:44 编辑

//下面代码中的8888与端口10005端口怎么理解啊!为什么不用同一个端口啊?
import java.net.*;
import java.io.*;

class UDPTest {

        /**
         * @param args
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub
                DatagramSocket ds=new DatagramSocket(8888);
               
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
               
                String line=null;
               
                while((line=br.readLine())!=null)
                {
                                if("886".equals(line))
                                {
                                        break;
                                }
                                        byte []buf=line.getBytes();
                                        DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.0.101"),10005);
                       ds.send(dp);
                                
                }
               
        
                ds.close();

        }
作者: 林豪    时间: 2012-5-16 17:54
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536;
比如传智播客大楼吧,他就是一个IP地址,但是你如果要上毕老师的课程的话,他就在314这房间,314就好像端口一样,
或者说 比如QQ吧,QQ有人发送QQ给你,如果你的QQ端口是8888,那么他会发送到8888端口给你,如果MSN也想实用8888端口,那么你说别人发的QQ信息会到那里去?
把你的电脑比喻成一座大楼,每个软件都有房间号,一个房间只能放一个软件,所以端口不能重复,除非那个房间的软件已经撤出去了
作者: 赵玮_Tom    时间: 2012-5-16 17:59
你的这个程序是在一台主机上运行的。接收端的启动早于发送端,如果用同一个端口,当发送端启动时,由于接收端已经占用这个端口了,会出现端口冲突。
如果接收端和发送端在不同的主机上运行,就可以使用同一个端口。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2