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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-1-5 09:33 编辑

javaSE进阶部分
*************************************day12**************************************************
***网络编程***
*Socket  
*网络三要输:
*        协议:TCP,UDP
*        IP地址:InetAdress
*        端口号:0——65535个端口号
*                80:HTTP服务
*                443:HTTPS,安全加密http
*                21:FTP服务
*                22:SSH 服务,安全加密的远程登录
*                23:Telnet服务
*        查看端口号Dos命令:netstat -an
*
*UDP学习
*UDP协议发送数据
*        创建发送端Socket对象
*        创建数据包
*        发送数据
*        释放资源
*类DatagramSocket:此类表示用来发送数据与接收数据,基于UDP协议
*DatagramSocket();创建Socket对象随机分配端口号
*DatagramSocket(int port);:创建Socket对象并指定端口号
*
*
*DatagramPacket类:数据包
*数据 byte[]
*设备地址 IP
*进程地址  端口号
*
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
//创建DatagramSocket对象
DatagramSocket ds=new DatagramSocket();

String s="fsd";//发送内容
byte[] b=s.getBytes();
int length=b.length;
InetAddress address=InetAddress.getByName("PC-20171221EJAM");//ip地址
int port=8888;//端口
//打包
DatagramPacket dp=new DatagramPacket(b,length,address,port);
//发送数据
ds.send(dp);
//释放资源
ds.close();
UDP的注意事项:
        端口号出现错误提示
        重复运行接收端,端口号被占用了,已经被绑定了
TCP学习
使用TCP协议发送数据
        Socket(客户端)
        (服务端)
        创建Socket对象(创建连接)
        Socket sc=new Socket(InetAddress.getByName("主机名"),端口号);
        获取输出流对象
        OutPutStream os=sc.getOutputStream();
        发送数据
        String str="AABBCCDDEEFFGG";***网络编程***
*Socket  
*网络三要输:
*        协议:TCP,UDP
*        IP地址:InetAdress
*        端口号:0——65535个端口号
*                80:HTTP服务
*                443:HTTPS,安全加密http
*                21:FTP服务
*                22:SSH 服务,安全加密的远程登录
*                23:Telnet服务
*        查看端口号Dos命令:netstat -an
*
*UDP学习
*UDP协议发送数据
*        创建发送端Socket对象
*        创建数据包
*        发送数据
*        释放资源
*类DatagramSocket:此类表示用来发送数据与接收数据,基于UDP协议
*DatagramSocket();创建Socket对象随机分配端口号
*DatagramSocket(int port);:创建Socket对象并指定端口号
*
*
*DatagramPacket类:数据包
*数据 byte[]
*设备地址 IP
*进程地址  端口号
*
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
//创建DatagramSocket对象
DatagramSocket ds=new DatagramSocket();

String s="fsd";//发送内容
byte[] b=s.getBytes();
int length=b.length;
InetAddress address=InetAddress.getByName("PC-20171221EJAM");//ip地址
int port=8888;//端口
//打包
DatagramPacket dp=new DatagramPacket(b,length,address,port);
//发送数据
ds.send(dp);
//释放资源
ds.close();
UDP的注意事项:
        端口号出现错误提示
        重复运行接收端,端口号被占用了,已经被绑定了
TCP学习
使用TCP协议发送数据
        Socket(客户端)
        (服务端)
        创建Socket对象(创建连接)
        Socket sc=new Socket(InetAddress.getByName("主机名"),端口号);
        获取输出流对象
        OutPutStream os=sc.getOutputStream();
        发送数据
        String str="AABBCCDDEEFFGG";
        os.write(str.Bytes());
        释放资源
        sc.close();
TCP接收数据        
        *********
ServerSocket(服务端)
         创建接收端Socket对象
         ServerSocket ss=new ServerSocket(10086);
         监听(阻塞)
         Socket s=ss.accept();
         接收一个输入流的对象
         InputStream is=s.getInputStream();
         获取数据
         byte[] bys=new byte[1024];
         int len;
         len=is.read(bys);
         输出数据
         syso(s.getIetAddress().getHostName());
         System.out.println(new String(bys,0,len));
         释放资源
         is.clos();
         ss.clos();        
kehu
        客户端发出数据
        服务端接收数据
        服务端转换数据
        服务端发错数据
        客户端接收数
        os.write(str.Bytes());
        释放资源
        sc.close();
TCP接收数据        
        *********
ServerSocket(服务端)
         创建接收端Socket对象
         ServerSocket ss=new ServerSocket(10086);
         监听(阻塞)
         Socket s=ss.accept();
         接收一个输入流的对象
         InputStream is=s.getInputStream();
         获取数据
         byte[] bys=new byte[1024];
         int len;
         len=is.read(bys);
         输出数据
         syso(s.getIetAddress().getHostName());
         System.out.println(new String(bys,0,len));
         释放资源
         is.clos();
         ss.clos();        

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马