Java教程

java基础——网络编程

本文主要是介绍java基础——网络编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

java基础

**
看了好多文章,和博客,感觉网络编程不是一蹴而就的,核心好像并不是socke编程,因为socket把后面复杂的协议簇实现封装了起来,socket把数据进行组织转换,来符合协议。
给我们看来socket编程无外是创建通讯对象,创建套接字,监听端口,定义数据包,,定义发送数据的格式,资源释放回收,端口的对接,接口的调用,定义传输(接收发送)的格式,看起来就像是固定的一样。
但是编起来却很难,终于想明白了,网络编程实际上是多线程高并发编程。
下面是socket编程的基础知识,转载自【https://blog.csdn.net/weixin_45082647/article/details/106838236】

**


文章目录

    • java基础
    • 一、网络编程(Socket编程)


一、网络编程(Socket编程)


1、socket是什么

  • Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是一组接口;
  • 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议;
  • 应用程序可以通过套接字发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作;套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信;


2、Socket原理

  • 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字,即就是Socket=IP+端口号
  • 通信的两端都有Socket、网络通信其实就是Socket间的通信、数据在两个Socket间通过IO传输;


3、java如何进行网络编程

  • 针对不同协议的Socket,Java给我们提供了相应的Socket;
  • UDP协议使用的Socket,Java提供了DatagramSocket类来描述;TCP协议使用的Socket,Java使用了Socket类来描述


4、动态获取IP、主机名

  • 在Java中,使用InetAddress类来描述IP,它的子类有:Inet4Address、Inet6Address,我们可以直接使用父类;
  • 常用方法:
    方法| 作用|
    –|--|
    static InetAddress getByName(String host) | 在给定主机名的情况下确定主机的 IP 地址|
    String getHostAddress() | 返回 IP 地址字符串|
    String getHostName()|获取此 IP 地址的主机名 |
这篇关于java基础——网络编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!