`
moor212
  • 浏览: 174342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

网络基础

 
阅读更多
      《Java TCP/IPSocket 编程》,一个项目看java TCP/IP Socket编程(1.3版)

前一段时间刚做了个java程序和网络上多台机器的c程序通讯的项目,遵循的是TCP/IP协议,用到了java的Socket编程。网络通讯是java的强项,用TCP/IP协议可以方便的和网络上的其他程序互通消息。

先来介绍下网络协议:
    TCP/IP
        Transmission Control Protocol 传输控制协议
        Internet Protocol 互联网协议
    UDP
        User Datagram Protocol 用户数据协议

连接协议:
    分为:
    面向连接协议: Connection Oriented Protocol
    非连接协议: Connectionless Protocol

    1).面向连接协议是指两台电脑在传输数据前,先会建立一个专属的连接。就如电信局的交换机会为打电话双方提供专属连接一样。
    Internet上的面向连接协议就是TCP/IP
    特点:确认回应;分组序号;流量控制。
    TCP/IP属于可靠性传输,适合不容许有传输错误的网络程序设计使用

    2).非连接协议:无专属连接,无分组,容错,距离短,可同时对多台电脑进行数据传输
    Internet上的非连接协议就是UDP

    TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。相比之下UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。


Socket 是程序与网络间的一种接口,大部分网络应用程序都是点对点的,所谓点就是服务器端和客户端所执行的程序。Socket是用来接收和传送分组的一个端点。

java的Socket编程要用到java.net 包,最常用的是net包下的6个类:InetAddress(互联网协议 (IP) 地址)类,Socket(套接字)类,ServerSocket(套接字服务器)类,DatagramSocket(发送和接收数据报包的套接字) 类,DatagramPacket(数据报包)类,MulticastSocket(多播数据报套接字类用于发送和接收 IP 多播包)类,

其中InetAddress、Socket、ServerSocket类是属于TCP面向连接协议,DatagramSocket、 DatagramPacket和MulticastSocket类则属于UDP非连接协议的传送类。

本项目因为使用TCP/IP协议,主要用到Socket和ServerSocket类

项目代码如下

见链接 上面。




Socket编程就是运用Socket或者ServerSocket类搭配线程来使用(由于TCP/IP属于可靠性传输,不会丢包)。可能会因为在发送请求或者接受消息时Socket阻塞而导致主线程挂死,因此发送请求、接收消息的方法要放进子线程里处理;对于同一目标ip和端口,在同一个子线程里只能new一个Socket,也就是说,要对同一地址建立多条连接,就要开启多个线程。而且注意连接可能会因作用不同分长连接和短连接,要分别处理,本项目中发送请求和接受message就分别属于短连接和长连接,因此分别开发了 RequestSocketThread和GetMessageSocketThread两个子线程区分对待。可以同时开发个Message类来封装打包和解包消息的方法(项目中开发MessageFactory.java),方便调用


分享到:
评论

相关推荐

    网络技术网络基础 网络编程 网络基础

    网络基础 网络编程 网络基础 网络基础 网络编程 网络基础 网络基础 网络编程 网络基础 网络基础 网络编程 网络基础

    通信网络基础_(李建东_盛敏_)课后习题答案

    通信网络基础知识点总结 本资源为通信网络基础知识点总结,涵盖通信网络的基本概念、通信链路、分组交换网、虚电路、ATM 网络、OSI 模型、TCP/IP 模型、Poisson 过程等知识点。 1.1 通信网络基础 * 通信网络由...

    网络基础试题网络基础试题

    网络基础试题网络基础试题网络基础试题网络基础试题

    计算机网络基础视频教程(第一部分)

    计算机网络基础1.1.课程概述 计算机网络基础1.2.计算机网络的应用 计算机网络基础1.3.计算机的硬件组成及分类-举例 计算机网络基础1.4.计算机网络的概念和基本组成 计算机网络基础1.5.计算机网络的作用和分类 计算机...

    计算机网络基础.pdf

    计算机网络基础.pdf

    计算机网络基础试题及答案

    计算机网络基础试题及答案 计算机网络基础试题及答案

    网络基础 pdf 资料 pdf

    网络基础

    网管员必读——网络基础(第2版)

    资源名称:网管员必读——网络基础(第2版)内容简介: 网管员必读:网络基础(第2版)由王达先生精心编著,是一本网络基础学习入门书籍。网管员必读:网络基础(第2版)是在网管员必读—网络基础(第1版)基础上修改而...

    计算机网络基础-课件

    国家精品课程,温大网工专业入门课程,该课程由施晓秋教授主讲。课件包含了全部计算机网络基础的所有课时内容,通俗易懂,适合网络技术人员入门和启蒙,希望对渴望进入网络行业的初学者有所帮助。

    计算机网络基础视频教程(第三部分)

    计算机网络基础视频教程 计算机网络基础1.1.课程概述 计算机网络基础1.2.计算机网络的应用 计算机网络基础1.3.计算机的硬件组成及分类-举例 计算机网络基础1.4.计算机网络的概念和基本组成 计算机网络基础1.5.计算机...

    计算机网络基础 PPT

    计算机网络基础 计算机网络基础 计算机网络基础 计算机网络基础 计算机网络基础

    高一计算机应用基础-第六章-计算机网络基础.docx

    高一计算机应用基础-第六章-计算机网络基础 高一计算机应用基础-第六章-计算机网络基础全文共16页,当前为第1页。高一计算机应用基础-第六章-计算机网络基础全文共16页,当前为第1页。高一计算机应用基础 第六章 ...

    Windows2003网络基础架构视频教程(63集)

    教程名称:Windows 2003网络基础架构视频教程(63集)课程目录:【】Windows2003网络基础架构视频教程(1-5)【】Windows2003网络基础架构视频教程(11-15)【】Windows2003网络基础架构视频教程(16-20)【】Windows...

    计算机网络基础视频教程(第二部分)

    计算机网络基础视频教程 计算机网络基础1.1.课程概述 计算机网络基础1.2.计算机网络的应用 计算机网络基础1.3.计算机的硬件组成及分类-举例 计算机网络基础1.4.计算机网络的概念和基本组成 计算机网络基础1.5.计算机...

    计算机网络基础试卷B.

    计算机网络基础试卷B.计算机网络基础试卷B.计算机网络基础试卷B.

    CCNA Exploration - 网络基础知识

    CCNA Exploration - 网络基础知识 网络学院

    计算机网络基础视频教程(第四部分)

    计算机网络基础视频教程 计算机网络基础1.1.课程概述 计算机网络基础1.2.计算机网络的应用 计算机网络基础1.3.计算机的硬件组成及分类-举例 计算机网络基础1.4.计算机网络的概念和基本组成 计算机网络基础1.5.计算机...

    《计算机网络基础》综合实训.doc

    《计算机网络基础》综合实训.doc《计算机网络基础》综合实训.doc

    mcse 网络基础特别推荐

    mcse 网络基础mcse 网络基础mcse 网络基础mcse 网络基础mcse 网络基础mcse 网络基础mcse 网络基础mcse 网络基础mcse 网络基础

Global site tag (gtag.js) - Google Analytics