TCP/IP协议:
UDP(User Datagram Protocol):是一种不安全的面向无连接的协议,每一个packet都有自己完整的来源和目的信息,所以并不能保证packet到达接收方的时间和准确性,每次传送数据大小也限定在64KB以内。
TCP(Transfer Control Protocol):是一种安全的面向连接的协议。通过TCP协议传输得到的是一个顺序的无差错的数据流,传送的数据大小没有限定,因为他要保证数据的完整性和准确性,占用的计算机和网络资源比UDP高,所以效率不如UDP。
Socket:
Socket就是为网络服务提供的一种机制,网络通信其实就是Socket间的通信,通常用来实现客户端与服务端的连接,连接的两端都有一个Socket,数据在两个Socket之间是通过IO传输的。
UDP传输过程(使用DatagramSocket和DatagramPacket类):
发送端:
1创建Socket服务 DatagramSocket ds = new DatagramSocket();
2建立数据包DatagramPacket dp =
new DatagramPacket(byte [] b,int length,InetAddress address,int port);
用来将长度为length的包发送到指定的端口
3 通过调用Socket对象的send()方法将数据包发送到目的地。
接收端:
1创建Socket服务并监听一个端口,因为要明确哪个端口进来的数据是这个接收端可以处理的 DatagramSocket ds = new DatagramSocket(int port);
2 创建一个数据包用来存储接受到的数据
DatagramPacket dp = new DatagramPacket(buf,buf.length);
3 调用socket对象的receive()方法,将接收到的数据存放到数据包中
4 通过调用数据包中的方法获得数据包中需要的内容,如IP地址、数据长度、端
口号等。
TCP传输过程(使用Socket和ServerSocket类):
客户端:
1 创建客户端socket服务,并去连接指定的服务端。
Socket s = new Socket(String host,int port);
2 通过socket对象的getOutputStream()或getInputStream()方法获取socket流中的输出输出流对象。
3 通过输入输出流与服务端进行数据传输。
4 与服务端通信结束后关闭socket。
服务端:
1 创建服务端的socket服务,并监听一个端口,以获取客户端发来的数据。
ServerSocket ss = new ServerSocket(int port);与客户端的port相同
2 通过socket对象的accept()方法获得连接进来的socket对象
3 通过socket对象的getOutputStream()或getInputStream()方法获得socket流中的输入输出流对象
4 通过输入输出流对象与客户端进行数据传输。
5 客户端访问结束后关闭此客户端。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuxiaolei7676/archive/2010/04/18/5499888.aspx
分享到:
相关推荐
《Java网络编程第三版》是Java开发者深入理解网络编程的重要参考资料。这本书主要涵盖了Java平台上的网络应用程序开发,从基础概念到高级技术,为读者提供了一套全面的学习路径。以下是本书中涉及的一些关键知识点:...
Windows 网络编程 概述 Windows 网络编程是指在 Windows 操作系统平台上进行网络编程的技术,涉及到 Windows Socket、网络协议、网络应用程序的开发等方面。 Windows 网络编程的主要目的是实现高性能的网络应用...
扫描版 超清百度网盘资源!!! 为初学者准备的网络编程! 韩国TCP/IP经典教程!... 本书针对网络编程初学者,面向具备C语言基础的套接字网络编程学习者,适合所有希望学习Linux和Windows网络编程的人。
C++网络编程是计算机科学中的一个重要领域,它允许开发者创建能够通过网络进行通信的应用程序。这份"C++网络编程文档"涵盖了这一主题的广泛内容,旨在帮助程序员深入理解并掌握网络编程的基本概念和技术。 首先,...
《Unix网络编程》是学习Unix系统下网络编程的重要书籍。这本书的英文版由Addison-Wesley出版社出版,是UNIX Network Programming系列的第一卷,第三版。在第三版中,作者对第二版内容进行了更新,添加了对新的编程...
《C#网络编程实例教程源代码》是一份深入浅出的教学资源,旨在帮助开发者掌握C#语言在网络编程领域的应用。这份教程结合了理论与实践,提供了丰富的源代码示例,让学习者能够通过实际操作来理解和掌握网络编程的核心...
《Linux网络编程教程》这本书是Linux系统中进行网络编程的重要参考资料。它涵盖了广泛的知识点,旨在帮助读者理解和掌握如何在Linux环境下开发网络应用程序。以下是对这些主题的详细阐述: 1. **网络编程基础**:...
《Java网络编程(第四版)》是一本深入探讨Java在互联网环境下的编程技术的经典书籍。本书旨在帮助读者理解和掌握如何利用Java语言进行高效、安全的网络通信。书中内容覆盖了从基本的网络概念到复杂的多线程编程,是...
C++ 网络编程实例 本文档提供了 C++ 网络编程的基础知识,涵盖了网络编程的概述、OSI 七层网络模型、TCP/IP 协议和 C/S 编程模型等内容。 网络编程概述 网络编程是指用户使用 MFC 类库在 VC 编译器中编写程序,以...
linux网络编程 pdf # Linux网络编程基础 Linux网络编程是指在Linux操作系统上开发网络应用程序的过程。它主要涉及到TCP/UDP协议以及select/poll/epoll等多路复用技术。 TCP/UDP协议是网络通信的基础,其中TCP协议...
《Java网络编程(第4版)》是一本深入探讨Java平台上的网络编程技术的专业书籍,适合想要提升Java通讯技术的学者阅读。此书全面覆盖了Java网络编程的基础和高级概念,帮助开发者理解如何利用Java语言构建高效、可靠的...
"Java网络编程实验报告" 本实验报告主要介绍了Java网络编程的基本概念和实现方法,通过设计和实现一个简单的客户端/服务器应用程序,了解Java网络编程的基本原理和实现方法。 知识点1:Java 网络编程基础 Java ...
Java网络编程案例教程习题参考答案 Java_network_programming是Java编程语言中一个基础组件,用于实现网络通信。以下是Java网络编程案例教程习题参考答案中涉及到的知识点: 1. Socket编程:Socket是Java网络编程...
《Unix网络编程》是一套由美国著名计算机科学家W. Richard Stevens撰写的经典教材,涵盖了Unix系统下的网络编程各个方面。这套书共分为三卷,每卷都深入探讨了其主题,对于理解和掌握网络编程技术具有极高的参考价值...
《UNIX网络编程》第一卷主要涵盖了网络编程的基本概念、传输层协议TCP和UDP的细节、套接口编程的原理与应用,以及高级网络编程技术。该书是网络编程领域的经典之作,作者是著名的网络编程专家W. Richard Stevens。...
《Visual C++网络编程案例实战》一书深入探讨了如何利用Visual C++及MFC类库进行网络编程,尤其强调了Windows Socket的应用。本书不仅覆盖了理论基础,还提供了丰富的实践案例,帮助读者掌握网络编程的核心技能。 #...
Linux C 网络编程面试题收集 本文总结了 Linux C 网络编程面试题,涵盖了基础知识、网络编程、路由等方面的知识点,旨在帮助读者更好地理解和掌握相关知识。 一、基础知识 1. 对于程序 `func(char *str){printf(...
这本书是关于c#网络编程的,关于c#入门的书有很多,但是关于c#网络编程的并不多,很多教材中虽有涉及网络编程但都是泛泛而谈,很多理论概念掺杂在其中,让人很难理解,而这本不同,含有非常多的例子,从简到深,甚至...
《UNIX网络编程》(第1卷)(套接口API第3版)第1版和第2版由已故UNIX网络专家W. Richard Stevens博士独自编写。《UNIX网络编程》(第1卷)(套接口API第3版)是3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,...
《UNIX环境高级编程》与《UNIX网络编程卷1:协议》是两本深入解析UNIX系统编程的经典著作。在深入理解这些书籍的知识点之前,我们先要了解UNIX系统的基础概念。 UNIX是一个多用户、多任务的操作系统,其设计哲学...