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);
完毕。
注:发送的也是数据包,没有流的概念。
分享到:
相关推荐
- 创建socket通过调用socket()函数,参数包括协议族(如PF_INET/AF_INET,对应IPv4的TCP/IP)、socket类型(如SOCK_STREAM面向连接的TCP,或SOCK_DGRAM无连接的UDP)以及协议(通常为0)。 3. **socket的配置** -...
#### 五、小结 通过以上介绍,我们了解到在 .NET Framework 中如何使用 `Socket` 类进行网络编程。从创建 Socket 对象到实现基本的网络通信,再到具体的操作方法,都给出了详细的解释和示例。掌握这些基础知识后,...
在计算机网络领域,Socket编程是一种基础且至关重要的技术,它为客户端和服务器端的应用程序提供了进行数据通信的接口。Socket在网络层面上实现了进程间的通信,是互联网应用的基础,广泛应用于各种服务,如HTTP、...
Java Socket通信小结 在Java编程中,Socket通信是一种基于TCP/IP协议的网络通信方式,它允许两个应用程序之间建立可靠的、双向的数据传输连接。本文将深入探讨Java Socket通信的基础知识,以及如何通过Java实现一个...
### Linux环境下的Socket编程知识点详解 #### 一、Socket简介 在Linux环境下,Socket是一种用于进程间通信(IPC)的机制。它允许不同进程通过网络或本地主机进行数据交换。Socket编程是网络程序开发的基础,涉及到...
虚谷与掌控的网络编程(Socket)1 一、网络通信概述 在学习网络编程之前,首先需要了解网络通信的基本概念。网络通信是指设备之间的数据交换过程。在这个过程中,设备可以扮演服务器或客户端的角色。服务器提供...
#### 四、小结 网络编程涉及多个层面的概念和技术,从IP地址的解析和操作到DNS的查询,每一步都需要精确的控制。通过深入理解`IPAddress`、`IPEndPoint`以及DNS相关类的使用,开发者可以构建出高效且可靠的网络应用...
### 小结 Socket编程是网络编程的基础,通过掌握Socket的原理及使用方法,能够更好地实现网络应用程序之间的通信。无论是面向连接的TCP协议还是无连接的UDP协议,都依赖于Socket来完成数据的发送与接收。理解Socket...
- **Selector小结**:总结Selector的使用技巧。 - **数据报(UDP)信道**:介绍如何使用UDP Channel进行数据通信。 #### 第6章 深入剖析 这一章进一步探讨了套接字编程的一些高级主题,包括缓冲机制、性能优化、...
**5.7 小结** 这一章节概述了多种网络协议的基本概念,这些协议构成了现代互联网的基础。 #### 七、Berkeley套接字 **6.1 引言** Berkeley套接字是一组用于实现网络通信的API,最初是在Berkeley Unix中开发的。 ...
#### 小结 Socket 编程是 C# 网络编程中的核心部分,通过 `System.Net.Sockets` 命名空间中的 `Socket` 类,可以实现服务器与客户端之间的通信。了解 AddressFamily、SocketType 和 ProtocolType 的概念对于正确...
### Java+TCPIP+Socket编程(中文版) —— 关键知识点详解 #### 第1章 简介 - **计算机网络、分组报文和协议** 计算机网络是通过通信设备和线路将地理位置分散、功能独立的多个计算机系统互连起来,以功能完善的...
通过以上概述,可以看出《Java_TCPIP_Socket编程》涵盖了从基础概念到高级主题的全面内容,旨在帮助读者深入理解Java环境下如何利用套接字进行网络编程。无论是初学者还是有经验的开发者,都可以从这本书中获得宝贵...
- `type`参数定义socket类型,如SOCK_STREAM(TCP)或SOCK_DGRAM(UDP)。 - `protocol`通常设为0,表示使用默认的传输协议。 返回值为新创建的socket句柄,失败时返回-1,并设置`errno`为相应的错误代码,如...
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 文件传输...通过了解 TCP/IP 协议的基础知识以及 Socket 编程的基本原理,我们实现了客户端与服务器之间的文件传输功能。这种技术在实际开发中非常有用,尤其是在需要高效可靠地传输大量数据的情况下。
- **Selector小结**:总结Selector的使用要点。 - **数据报(UDP)信道**:针对UDP协议的Channel操作。 #### 9. 深入剖析 - **缓冲和TCP**:深入理解TCP协议中的缓冲机制。 - **死锁风险**:在网络编程中避免死锁...
#### 小结 通过以上内容可以看出,在Visual Basic中利用Winsock控件实现UDP通信相对简单,只需要遵循一定的步骤即可完成基本的UDP服务器和客户端程序开发。这些基础知识不仅适用于初学者学习网络编程的基础,也为更...
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...