`

Java之Socket

    博客分类:
  • Java
 
阅读更多

一:网络编程简介

1:网络协议

1OSI网络传输的七层结构(从下到上)

物理层-à数据链路层---〉网络层----〉传输层----〉会话层----〉表示层----〉应用层

2TCP/IP协议(实际中应用的标准)

链路层---à网络层----〉传输层-----〉应用层

2:各层主要的协议:

网络层:IP协议

传输层:TCP/UDP

应用层:HTTP/FTP/TELNET

二:TCP编程

1:特点:

1)建立连接,安全,效率低(联想打电话

2)把要传输的内容当作流的形式传输

2:客户端编程步骤:

(1)创建一个套接字(Socket)(用来跟服务器端进行直接通信)

(2)从这个套接字里面获得输入和输出流

(3)读写操作

(4)关闭流

(5)关闭套接字

3:服务器端:

(1)创建一个服务套接字(ServerSocket):主要用来判断是否有新的客户端访问,如果有的话,

   就创建一个新的服务员。

(2) 创建一个与客户端打交道的套接字(Socket)(服务员)

(3)Socket中获得输入和输出流

(4)读写操作

(5)关闭流

(6)关闭Socket

(7) 如果服务器不再为客户提供服务了,关闭ServerSocket(一般不会关闭)

三:UDP编程

1:特点:

1)无连接的,不安全,效率高,(联想发邮件)

2)把要传输的内容分隔成一个一个的数据报进行传输。

2:编程步骤:

(1) 创建一个根网络打交道的对象DatagramSocket

(2)  把自己的数据打包DatagramPacket

(3)通过DatagramSocket把自己的数据报发送过去。

 

 

注意:对网络中的输入输出流的包装。和IO的一样;看你要个服务端或客户端发送怎样的数据;

 

socket

所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 

  Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。 

 

server:

    private Socket socket;  
    private ServerSocket ss;  
  
    public Server() throws IOException {  
        ss = new ServerSocket(7777);  
        while (true) {  
            socket = ss.accept();  
            BufferedReader br = new BufferedReader(new InputStreamReader(socket  
                    .getInputStream()));  
            System.out.println("you input is : " + br.readLine());  
        }  
    } 

 Client:

    Socket client;  
    PrintWriter pw;  
    public Client() throws UnknownHostException, IOException {  
        client=new Socket("Socket服务器IP",7777);  
        pw=new PrintWriter(client.getOutputStream());  
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
        pw.write(br.readLine());  
        pw.close();  
        br.close();  
    }  

 

 

  详细链接

 

 

分享到:
评论

相关推荐

    java之socket编程简单实例

    Java之Socket编程是网络通信中的基础,主要用于实现客户端与服务器之间的连接。在这个简单实例中,我们将探讨如何使用Java的Socket和ServerSocket类来构建一个基本的客户端-服务器通信模型。 首先,`ServerSocket`...

    java-socketcan

    Java SocketCAN是一个用于在Linux环境下通过Java编程语言与CAN(Controller Area Network)总线通信的库。这个库允许开发者在Java应用程序中实现低级别的CAN数据帧收发,从而无需深入理解底层操作系统或C/C++编程。...

    java使用Socket类接收和发送数据

    Java中的Socket类是进行网络通信的核心组件,它主要用于实现客户端与服务器之间的TCP连接,从而进行双向数据传输。本文将深入探讨如何使用Socket类接收和发送数据。 首先,我们需要理解Socket类的基本概念。Socket...

    JAVA Socket编程实现文件上传

    Java Socket编程是网络编程的基础,它提供了在两个应用程序之间建立通信连接的能力。在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库...

    java socket教程java socket教程

    Java Socket教程是学习Java网络编程不可或缺的部分,它允许两台计算机通过网络进行通信。Socket在Java中被用作网络通信的基础,提供了低级别的、面向连接的、基于字节流的通信服务。本教程将深入探讨Java Socket编程...

    Java实现Socket长连接和短连接

    在Java编程中,Socket是网络通信的基础,它允许两个应用程序通过TCP/IP协议进行数据传输。Socket连接分为两种类型:长连接和短连接。这两种连接方式各有特点,适用于不同的应用场景。 **1. 短连接(Short ...

    Java_socket 通信示例(Java源码)

    Java Socket通信是网络编程中的基础概念,主要用于两个应用程序之间的双向通信。在这个"Java_socket 通信示例"中,我们看到的是一个简单的聊天室应用,它利用了Java的Socket API来实现实时的数据交换。以下是对这个...

    java的Socket实现的多人聊天程序

    Java的Socket实现的多人聊天程序是一个基于网络通信的项目,主要利用了Java的Socket类来构建客户端和服务端的通信桥梁。Socket是TCP/IP协议的一部分,它提供了两台计算机之间进行数据传输的基础。在这个项目中,...

    java socket连接池 实现

    Java Socket 连接池实现是提高网络应用性能和效率的关键技术之一。在高并发的网络环境中,频繁地创建和销毁Socket连接会导致大量的系统资源浪费,影响整体性能。为了解决这个问题,开发人员通常会使用连接池来管理和...

    java的Socket编程

    Java的Socket编程是Java网络编程的核心部分,它提供了在TCP/IP协议栈上进行通信的机制。Socket接口是对TCP/IP协议的抽象,使得开发者能够轻松地创建客户端和服务器应用程序,实现网络上的数据交换。在这个主题中,...

    JAVA Socket 经典教程

    Java Socket是Java编程语言中实现网络通信的基础组件,它提供了应用程序与网络协议的接口,使得开发者可以构建基于TCP(传输控制协议)或UDP(用户数据报协议)的应用程序。本教程将深入探讨Java Socket编程的核心...

    java socket 客户端代码

    在Java编程语言中,Socket是实现网络通信的基础组件,它为两台计算机之间的通信提供了低级别的接口。在本文中,我们将深入探讨Java Socket客户端代码及其在创建基于Socket的聊天室客户端中的应用。 首先,理解...

    用java写socket.io客户端所需jar包

    目前,Java社区有多个针对Socket.IO的实现,如`java-socket.io-client`和`socket.io-client-java`等。这些库通常会提供API,让你能够轻松地与Socket.IO服务器进行交互。 1. **java-socket.io-client**:这是一个...

    java swing socket聊天

    Java Swing Socket聊天程序是一种基于Java GUI(图形用户界面)技术和Socket网络编程的简单通信应用。Swing是Java标准库中的一个模块,提供了丰富的组件库,用于构建桌面应用程序的用户界面。Socket则是网络编程的...

    Java基于socket实现的客户端和服务端通信功能完整实例

    Java基于socket实现的客户端和服务端通信功能完整实例 在Java中,Socket是实现网络通信的基础,通过Socket可以实现客户端和服务器端之间的通信。本文将详细介绍Java基于Socket实现的客户端和服务端通信功能,包括...

    java socket客户端断线重连

    java socket client 断线重连的简单实现 有什么意见可以提哦

    java socket使用加密协议传输对象

    在Java中,实现这种加密通信的方式之一就是使用SSLSocket。 #### SSLSocket的使用 在Java中,SSLSocket是Socket的一个子类,专门用于支持SSL/TLS加密的网络通信。下面,我们将详细介绍如何在Java Socket中使用SSL...

    java socket 用户真实IP测试

    在Java网络编程中,Socket是实现客户端与服务器端通信的基础组件。当涉及到通过代理服务器或者负载均衡器(如Nginx)进行TCP转发时,获取用户的真实IP地址可能会变得复杂。在标题“java socket nginx tcp转发 用户...

    java socket 视频流转发socket

    Java Socket是Java编程语言中用于网络通信的核心API,它提供了低级别的、面向连接的、基于TCP/IP协议的网络通信能力。在"Java Socket 视频流转发Socket"这个主题中,我们将深入探讨如何使用Java Socket来处理视频流...

Global site tag (gtag.js) - Google Analytics