A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭振 中级黑马   /  2012-5-16 17:20  /  2258 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郭振 于 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();

        }

2 个回复

倒序浏览
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536;
比如传智播客大楼吧,他就是一个IP地址,但是你如果要上毕老师的课程的话,他就在314这房间,314就好像端口一样,
或者说 比如QQ吧,QQ有人发送QQ给你,如果你的QQ端口是8888,那么他会发送到8888端口给你,如果MSN也想实用8888端口,那么你说别人发的QQ信息会到那里去?
把你的电脑比喻成一座大楼,每个软件都有房间号,一个房间只能放一个软件,所以端口不能重复,除非那个房间的软件已经撤出去了
回复 使用道具 举报
你的这个程序是在一台主机上运行的。接收端的启动早于发送端,如果用同一个端口,当发送端启动时,由于接收端已经占用这个端口了,会出现端口冲突。
如果接收端和发送端在不同的主机上运行,就可以使用同一个端口。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马