栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java网络编程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java网络编程

目录

网络编程

计算机网络

网络编程

网络通信要素

IP

端口号

通信协议


网络编程

计算机网络

把世界各地的独立的计算机过通信设备和线路联系到一起.由功能完善的软件实现资源共享和信息传递的系统

网络编程

使用计算机语言开发软件,让软件通过网络进行数据交换

网络通信要素

IP

指互联网协议地址,又译为网际协议地址.网络中的计算机使用IP地址来进行唯一标识

端口号

计算机中的应用程序的一个整数数字标号,用来区分不同的应用程序。

0 ~ 1024 未被系统使用或保留的端口号,0 ~ 65535为有效的端口号

定义端口号的时候,要选择1024 ~ 65535范围内的整数数字

通信协议

计算机网络中实现通信的约定,即通信协议,对速率、传输代 码、代码结构、 传输控制步骤、出错控制等制定标准。

TCP协议

TCP协议:安全可靠,在每一次连接时会先与服务器进行三次握手,确保网络通畅开始数据传输,在每一次断开时会与服务器进行四次挥手,确保服务器和客户端都知晓.由于需要三次握手和四次挥手,所以效率低

 

服务器:

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
​
public class Server {
    public static void main(String[] args) {
        try {
            Scanner sc=new Scanner(System.in);
            ServerSocket serverSocket=new ServerSocket(3333);//创建服务器
            System.out.println("等待客户端连接");
            Socket ss=serverSocket.accept();//监听是阻塞式,直到有客户端连接上,才继续向下执行
            System.out.println("连接成功");
            byte[]bytes=new byte[10];
            int size=0;
            InputStream in=ss.getInputStream();//接受客户端发送的消息
            size=in.read(bytes);
            String s=new String(bytes,0,size);
            System.out.println(s);
            serverSocket.close();;
            ss.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

客户端:

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
​
public class Client {
    public static void main(String[] args) {
        try {
            Socket socket=new Socket("127.0.0.1",3333);
            OutputStream out=socket.getOutputStream();
            out.write("你好==".getBytes());
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

UDP协议

不需要建立网络连接,将数据,源,目标封装在数据包中,进行发送,发送是否成功不知道

发送端:

import java.io.IOException;
import java.net.*;
​
public class Send {
    public static void main(String[] args) throws IOException {
        DatagramSocket datagramSocket=new DatagramSocket();
        byte []bytes="你好,接收端".getBytes();
        DatagramPacket datagramPacket=new DatagramPacket(bytes,0,bytes.length, InetAddress.getByName("127.0.0.1"),3333);
        datagramSocket.send(datagramPacket);
    }
}

接收端:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Receive {
    public static void main(String[] args) throws IOException {
        DatagramSocket datagramSocket=new DatagramSocket(3333);
        byte []bytes=new byte[100];
        DatagramPacket datagramPacket=new DatagramPacket(bytes,bytes.length);
        datagramSocket.receive(datagramPacket);
        String s=new String(datagramPacket.getData(),0,datagramPacket.getLength());
        System.out.println(s);
    }
}

暑期编程PK赛 得CSDN机械键盘等精美礼品!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016699.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号