`

TCP与UDP下的socket编程小结

    博客分类:
  • java
阅读更多

 

 

tcp协议下的socket编程比较靠谱,能发送大的文件。

服务器端:合法端口号在0到65535之间

 

ServerSocket sSocket=new ServerSocket(4567);

Socket socket = sSocket.accept();会产生阻塞。就是指收不到数据,就一直处于阻塞状态。

socket.getInputStream();

流的读操作----

 

客户端:

Socket socket = new Socket(所要发送到的IP,4567);

socket.getOuputStream();

流的写操作-----------

 

 

 

UDP下的的socket编程:速度快,只管发送,不管你是否能收到

服务器端:

DatagramSocket socket = new DatagramSocket(4567);

byte []data = new byte [1024];

//创建一个空的DatagramPacket对象

DatagramPacket packet =new DatagramPacket(data,data.length);

//使用receive方法接收客户端所发送的数据

socket.receive(packet);

完毕。查看数据请使用(String result=new String(packet.getData(),packet.getOffset(),packet.getLength());

 

packet.getData()-----返回的是数组。

packet.getOffset()-----偏移量

注:UDP更简单先,因为其接收的是数据包,没有流的概念。

 

客户端:

DatagramSocket socket = new DatagramSocket(4567);

InetAddress serverAddress= InetAddress.getByName(所要发送到的IP);

String str="hello hsiangyu";

//拆分成字节数组

byte []data =str.getBytes();

//创建DatagramPacket对象,并指定要将这个数据包发送到网络中的哪个地址,以及端口号

DatagramPacket packet =new DatagramPacket(data,data.length,serverAddress,4567);

socket.send(packet);

完毕。

注:发送的也是数据包,没有流的概念。

 

分享到:
评论

相关推荐

    TCP SOCKET用法小结v1.1.doc

    - 创建socket通过调用socket()函数,参数包括协议族(如PF_INET/AF_INET,对应IPv4的TCP/IP)、socket类型(如SOCK_STREAM面向连接的TCP,或SOCK_DGRAM无连接的UDP)以及协议(通常为0)。 3. **socket的配置** -...

    c_socket编程入门

    #### 五、小结 通过以上介绍,我们了解到在 .NET Framework 中如何使用 `Socket` 类进行网络编程。从创建 Socket 对象到实现基本的网络通信,再到具体的操作方法,都给出了详细的解释和示例。掌握这些基础知识后,...

    SOCKET 网络编程 计算机网络 作业 客户端 服务器端 client svever

    在计算机网络领域,Socket编程是一种基础且至关重要的技术,它为客户端和服务器端的应用程序提供了进行数据通信的接口。Socket在网络层面上实现了进程间的通信,是互联网应用的基础,广泛应用于各种服务,如HTTP、...

    Java Socket通信小结

    Java Socket通信小结 在Java编程中,Socket通信是一种基于TCP/IP协议的网络通信方式,它允许两个应用程序之间建立可靠的、双向的数据传输连接。本文将深入探讨Java Socket通信的基础知识,以及如何通过Java实现一个...

    Linux环境下的Socket编程.txt

    ### Linux环境下的Socket编程知识点详解 #### 一、Socket简介 在Linux环境下,Socket是一种用于进程间通信(IPC)的机制。它允许不同进程通过网络或本地主机进行数据交换。Socket编程是网络程序开发的基础,涉及到...

    虚谷与掌控的网络编程(Socket)1

    虚谷与掌控的网络编程(Socket)1 一、网络通信概述 在学习网络编程之前,首先需要了解网络通信的基本概念。网络通信是指设备之间的数据交换过程。在这个过程中,设备可以扮演服务器或客户端的角色。服务器提供...

    Socket网络编程学习笔记(1)

    #### 四、小结 网络编程涉及多个层面的概念和技术,从IP地址的解析和操作到DNS的查询,每一步都需要精确的控制。通过深入理解`IPAddress`、`IPEndPoint`以及DNS相关类的使用,开发者可以构建出高效且可靠的网络应用...

    Socket编程

    ### 小结 Socket编程是网络编程的基础,通过掌握Socket的原理及使用方法,能够更好地实现网络应用程序之间的通信。无论是面向连接的TCP协议还是无连接的UDP协议,都依赖于Socket来完成数据的发送与接收。理解Socket...

    Java_TCPIP_Socket编程

    - **Selector小结**:总结Selector的使用技巧。 - **数据报(UDP)信道**:介绍如何使用UDP Channel进行数据通信。 #### 第6章 深入剖析 这一章进一步探讨了套接字编程的一些高级主题,包括缓冲机制、性能优化、...

    Linux网络编程(Socket技术)

    **5.7 小结** 这一章节概述了多种网络协议的基本概念,这些协议构成了现代互联网的基础。 #### 七、Berkeley套接字 **6.1 引言** Berkeley套接字是一组用于实现网络通信的API,最初是在Berkeley Unix中开发的。 ...

    c# 网络编程(socket)

    #### 小结 Socket 编程是 C# 网络编程中的核心部分,通过 `System.Net.Sockets` 命名空间中的 `Socket` 类,可以实现服务器与客户端之间的通信。了解 AddressFamily、SocketType 和 ProtocolType 的概念对于正确...

    Java+TCPIP+Socket编程(中文版)

    ### Java+TCPIP+Socket编程(中文版) —— 关键知识点详解 #### 第1章 简介 - **计算机网络、分组报文和协议** 计算机网络是通过通信设备和线路将地理位置分散、功能独立的多个计算机系统互连起来,以功能完善的...

    Java_TCPIP_Socket编程(中文版)

    通过以上概述,可以看出《Java_TCPIP_Socket编程》涵盖了从基础概念到高级主题的全面内容,旨在帮助读者深入理解Java环境下如何利用套接字进行网络编程。无论是初学者还是有经验的开发者,都可以从这本书中获得宝贵...

    C语言中socket相关网络编程函数小结

    - `type`参数定义socket类型,如SOCK_STREAM(TCP)或SOCK_DGRAM(UDP)。 - `protocol`通常设为0,表示使用默认的传输协议。 返回值为新创建的socket句柄,失败时返回-1,并设置`errno`为相应的错误代码,如...

    TCPIP详解--共三卷

    1.17 小结 13 第2章 链路层 15 2.1 引言 15 2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU...

    Java下TCP文件传输功能实现

    ### Java 下 TCP 文件传输...通过了解 TCP/IP 协议的基础知识以及 Socket 编程的基本原理,我们实现了客户端与服务器之间的文件传输功能。这种技术在实际开发中非常有用,尤其是在需要高效可靠地传输大量数据的情况下。

    基于VB的UDP程序设计

    #### 小结 通过以上内容可以看出,在Visual Basic中利用Winsock控件实现UDP通信相对简单,只需要遵循一定的步骤即可完成基本的UDP服务器和客户端程序开发。这些基础知识不仅适用于初学者学习网络编程的基础,也为更...

    TCP_IP详解卷1

    1.17 小结 13 第2章 链路层 15 2.1 引言 15 2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU...

Global site tag (gtag.js) - Google Analytics