`

关于Socket网络编程

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

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

  重要的Socket API:

  java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。

  . Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。

  . getInputStream方法获得网络连接输入,同时返回一个InputStream对象实例,。

  . getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。

  注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。

  ServerSocket类例子

  int PORT = 8888; // 侦听端口

  // 创建ServerSocket

  ServerSocket serverSocket = new ServerSocket(PORT);

  // 开始循环

  while (true) {

  // 等待连接

  Socket socket = serverSocket.accept();   // 处理链接的线程类

  ServerThread st = new ServerThread(socket);   // 启动线程处理

  new Thread(st).start();

  }

  客户端的例子

  int PORT = 8888; // 侦听端口

  // 建立连接

  socket = new Socket(“127.0.0.1”, 8888);   // 输入数据的读取

  BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));   // 写入数据   PrintWriter netOut = new PrintWriter(socket.getOutputStream());
分享到:
评论

相关推荐

    socket简易网络编程

    以上就是关于socket网络编程的基本概念和操作流程。通过实践这个“socket简易网络编程”项目,初学者不仅可以理解socket的工作原理,还能掌握网络通信的基础技能,为进一步学习更复杂的网络应用打下坚实基础。在实际...

    socket网络编程

    以下是关于Socket网络编程的详细解释: 1. **Internet与TCP/IP协议** TCP/IP协议是Internet的基础,起源于20世纪60年代的ARPAnet项目,旨在创建一个可以连接不同类型计算机和操作系统的网络。TCP/IP协议族包括四...

    MFC socket网络编程

    本知识点将详细解析如何使用MFC进行Socket网络编程,以创建一个服务器/客户端应用程序。 ### MFC Socket网络编程要点 #### 1. Socket在网络通信中的角色 在计算机网络通信中,Socket被设计为一个网络通信的端点,...

    Socket网络编程进阶与实战系统掌握Socket核心技术

    Socket网络编程进阶与实战系统掌握Socket核心技术,本课程将理论结合实践,带你从零开始,系统学习Socket编程技术,让Socket的学习不再那么零散与难以掌握,同时会提炼出Socket网络传输的核心思想与构架,并带你踩坑...

    Socket网络编程-文件上传

    Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-文件上传Socket网络编程-...

    python socket 网络编程

    在"python socket 网络编程"这个主题中,我们将深入探讨如何利用socket进行文件传输、命令行执行等核心功能。 一、Python Socket基础 Python中的socket模块源于C语言的socket接口,它提供了TCP/IP协议族的网络通信...

    实用socket网络编程教程

    实用socket网络编程教程实用socket网络编程教程实用socket网络编程教程实用socket网络编程教程

    WindowsSocket网络编程.pdf

    Windows Socket 网络编程 Windows Socket 网络编程是指在Windows操作系统中使用Socket API进行网络编程的技术。Socket是一种标准的网络编程接口,允许不同的操作系统和网络协议进行通信。 一、 客户机/服务器模式...

    Socket网络编程1

    Socket网络编程是计算机科学中一个重要的领域,主要涉及在不同设备间通过网络进行通信的技术。在本主题中,我们将深入探讨Socket的基本概念、工作原理以及如何在实际项目中应用。 首先,我们来看“网络编程概述”。...

    Java Socket网络编程.pdf

    Java Socket网络编程是Java平台中的核心特性,它为开发者提供了在TCP/IP协议下创建网络应用的能力。Socket编程主要用于实现客户端和服务器之间的通信,基于客户机/服务器模型。在这个模型中,服务器端通常处于被动...

    Socket网络编程3

    Socket网络编程是计算机网络通信的核心技术之一,尤其在开发分布式应用和互联网服务时不可或缺。"Socket网络编程3"这个主题通常会深入讲解如何利用Socket进行TCP协议的客户端和服务器端编程,实现类似QQ聊天这样的...

    C++ Socket网络编程大全

    《C++ Socket网络编程大全》是一本专注于C++语言实现Socket网络编程的资源集合,它包含了大量的代码片段和实用示例,旨在帮助开发者理解和掌握网络通信的核心技术。Socket编程是计算机网络中的重要组成部分,它提供...

    socket网络编程教程

    本文所介绍的socket网络编程是指使用套接字接口进行的网络通信编程,它是网络编程中应用最广泛的一种形式。在了解socket网络编程之前,我们需要掌握一些基础知识,例如主机字节序与网络字节序的概念及它们之间的转换...

    Socket 网络编程例子程序

    Socket网络编程是计算机科学中的一个重要领域,特别是在分布式系统和互联网应用程序中。本示例程序是为C++ Builder开发者提供的一种学习资源,旨在帮助他们理解和掌握Socket编程的基本概念和技巧。 Socket,也称为...

    c# Socket网络编程实例

    Socket网络编程是计算机通信领域中的核心技术之一,尤其在C#编程环境下,Socket提供了一种标准的方式来实现客户端和服务器之间的通信。本实例主要关注C#语言下的Socket网络编程,特别是客户端的实现,它允许应用程序...

    JAVA Socket 网络编程教程

    Java Socket网络编程是Java开发中一个重要的组成部分,它允许应用程序通过网络进行通信,实现客户端与服务器之间的数据交换。本教程将深入探讨Java Socket编程的基本概念、原理和实践应用。 一、Socket基本概念 ...

    Socket网络编程进阶与实战教程.zip

    让大家对Socket有个大概的概念与方向。之后通过几个小Case引出课程的主角,轻松愉快的让你体验到... 明白什么是网络编程,2. 理解Socket与TCP、UDP的关系 3. 明白网络传输中的报文、协议、Mac、IP以及端口的定义等。

    基于Linux的Socket网络编程的性能优化.pdf

    Linux Socket网络编程性能优化 基于Linux的Socket网络编程的性能优化是指在Linux操作系统环境下,通过Socket网络编程来实现高性能的网络传输。Socket是Linux操作系统中的一种网络编程接口,允许程序员在不同的主机...

    Socket网络编程2

    Socket网络编程是计算机通信领域中的基础技术,它允许应用程序通过网络进行数据传输。在这个主题下,我们将深入探讨UDP和TCP两种主要的传输协议在Socket编程中的应用。 首先,我们来看"第三节(UDP客户端代码实现)...

Global site tag (gtag.js) - Google Analytics