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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-4-26 14:25 编辑

                                          Java就业班12第天笔记

   //一个表情代表一个知识点

Socket:
对协议进行封装,提供了编程规范接口,来进行相关网络协议;
TCP协议:
传输控制协议
会保证数据传输的准确性,需要验证收方是否收到,速度慢,流量数据大,准确性高;
UDP协议:
用户数据报协议
协议延时小,数据发送速度快,不会检查对方是否会接收,网络不好丢包率高;
IP地址:
二级制数字进制,网络设备的标识
IPv4分隔符 " . "
Ipv6分隔符  " : "
端口号:
标识网络通信的进程逻辑地址,虚拟拟定;
端口号:0~65535
1024前端口号为系统保留端口号;
IP地址 一 端口号 一 传输协议

InetAddress概述:
java.net.InetAddress类:
用于获取IP地址对象;
getLocalHost():获取本机的InetAddress对象
getByName(string):根据主机名或IP的地址值获取主机的InetAddress对象
getLoopbackAddress():获取回环地址的
getHostAddress()返回IP地址字符串
getHostName()获取此IP地址的主机名
UDP协议发送数据:
DatagramSocket()创建对象随机分配端口号
TCP发送方法:
代码演示:
public class 课题02 {        public static void main(String[] args) throws IOException {                DatagramSocket ds = new DatagramSocket();                String s = "00";                byte[] bys = s.getBytes();                int length = bys.length;                InetAddress ip = InetAddress.getByName("An_140");                System.out.println(ip);                int port = 2000;// 定义端口                DatagramPacket dp = new DatagramPacket(bys, length, ip, port);// 打包方法                ds.send(dp);                ds.close();        }}
TCP接收方法:
方法演示:





       public class 课题03 {

        public static void main(String[] args) throws IOException {
                byte[] byt = new byte[1024];
                DatagramSocket ds = new DatagramSocket(2000);//端口号
                DatagramPacket dp = new DatagramPacket(byt, byt.length);
                ds.receive(dp);
                InetAddress in = dp.getAddress();
                byte[] byt1 = dp.getData();
                int length = dp.getLength();
                System.out.println("sender ---> " + in.getHostAddress());
                System.out.println(new String(byt1, 0, length));
                ds.close();
        }

}

UDP发送方法:
代码演示:
public class 课题04 {        public static void main(String[] args) throws IOException, IOException {                Socket sk = new Socket(InetAddress.getByName("MingY-PC"), 10086);                OutputStream os = sk.getOutputStream();                os.write("你好!".getBytes());                sk.close();        }}
UDP发送方法:
代码演示:
public class 课题05 {        public static void main(String[] args) throws IOException {                ServerSocket ssk = new ServerSocket(1086);                Socket sk = ssk.accept();                InputStream is = sk.getInputStream();                byte[] byt = new byte[1024];                int x = is.read(byt);                String string = new String(byt, 0, x);                System.out.println(string);//打印传输的内容;                InetAddress ia = sk.getLocalAddress();                System.out.println(ia);//对面计算机域名                is.close();        }}class A implements Runnable {        public void run() {                        }}
//必须有服务端接收;


Socket:
这是客户端用的
ServerSocket:
这是服务端用的



0 个回复

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