`

java 面向 Socket 操作,TCP 和 UDP 示例

 
阅读更多
TCP/IP 参考模型

应用层-->传输层-->网络层--->物理+数据链路层  .

TCP 是一种提供可靠的、端到端的字节流通讯协议 。是一种面向连接的协议。TCP连接是字节流而非报文流。

UDP向应用程序提供了一种发送封装的原始ip数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。


网关  、 路由器 。Socket编程 。

双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket。

java.net  包中的 Socket类 实现clinet端   ServerSocket类 实现TCP服务端

建立连接时所需要的寻址信息为远程计算机的IP地址和端口号 。

端口号 也分为 TCP端口  和 UDP端口  每一个都有 65536 个端口 。

accept(); 方法是阻塞式的  .

异步式的网络编程,接收数据 . 1.5只后.

1 TCP

import java.net.*;
import java.io.*;

public class TCPServer{

public static void main(String[] args) throws Exception{
ServerSocket ss=new ServerSocket(4567);
while(true){
Socket s=ss.accept();
DataInputStream dataIn=new DataInputStream(s.getInputStream());

System.out.println("client connection!");
System.out.println(dataIn.readUTF());
dataIn.close();
s.close();

}
}
}


import java.net.*;
import java.io.*;

public class TCPClient{

public static void main(String [] args) throws Exception{
Socket s=new Socket("127.0.0.1",4567);
OutputStream out = s.getOutputStream();
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeUTF("hello server");
dataOut.flush();
dataOut.close();
s.close();
}
}



2 UDP

import java.net.*;
import java.io.*;

public class UDPServer{

public static void main(String[] args) throws Exception{

byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf, buf.length);
DatagramSocket udp=new DatagramSocket(5678);
while(true){
udp.receive(dp);
//System.out.println(new String(buf,0,dp.getLength()));

//接受一个long类型的数据
ByteArrayInputStream byteIn=new ByteArrayInputStream(buf);
DataInputStream dataIn=new DataInputStream(byteIn);

System.out.println(dataIn.readLong());
}
}
}


import java.net.*;
import java.io.*;

public class UDPServer{

public static void main(String[] args) throws Exception{

byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf, buf.length);
DatagramSocket udp=new DatagramSocket(5678);
while(true){
udp.receive(dp);
//System.out.println(new String(buf,0,dp.getLength()));

//接受一个long类型的数据
ByteArrayInputStream byteIn=new ByteArrayInputStream(buf);
DataInputStream dataIn=new DataInputStream(byteIn);

System.out.println(dataIn.readLong());
}
}
}


分享到:
评论

相关推荐

    Socket的TCP、UDP通讯

    文件名"Socket_one"和"Socket_tow"可能是示例代码或相关教程,可能包含了如何创建和使用TCP和UDP Socket的基本步骤,如: 1. 导入相关的Java套接字库。 2. 创建ServerSocket(TCP)或DatagramSocket(UDP)实例。 3...

    tcp_udp_socket.zip_Java TCP/UDP_java Tcp _java socket _java tcp

    总结来说,这个实验项目旨在帮助开发者实践TCP和UDP的Socket编程,理解它们在可靠性和效率上的区别,以及在Java中如何利用相关API进行实际的网络通信操作。通过分析和运行这些示例代码,可以深化对网络编程的理解,...

    tcp-udp.zip_java socket udp_java tcp udp

    本篇将深入探讨如何在Java环境中使用Socket进行TCP和UDP的文件传输。 TCP是一种面向连接的、可靠的传输协议,它通过三次握手建立连接,并确保数据包按顺序到达,如果数据包丢失,TCP会自动重传。在Java中,我们可以...

    JAVA TCP和UDP Socket通信框架

    Java中的TCP和UDP Socket通信是网络编程的基础,用于在不同设备之间建立可靠的数据传输通道。TCP(Transmission Control Protocol)提供的是面向连接、有序且无损的服务,而UDP(User Datagram Protocol)则是无连接...

    实现基于java socket方式:TCP和UDP协议的 小Demo,还实现了基于TCP协议的服务器端多线程方式监听.zip

    通过这些基本的示例,我们可以了解到如何在Java中使用Socket实现TCP和UDP通信,并理解它们在实际应用中的区别。在实际开发中,根据业务需求选择合适的通信协议,对于优化系统性能和保证数据可靠性至关重要。

    Java TCP和 UDP测试代码

    Java作为一门广泛使用的编程语言,提供了丰富的API来支持TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)这两种主要的网络通信协议。下面我们将深入探讨Java如何实现TCP和UDP的测试代码,以及...

    欧姆龙TCP UDP Socket网络通讯.zip

    - "FINS TCP案例"可能包含了使用FINS协议通过TCP Socket与欧姆龙PLC进行通信的具体示例代码或教程,涵盖了连接建立、数据交换和断开连接的过程。 - "FINS UDP案例"则展示了如何利用UDP Socket实现类似功能,但可能...

    lazarus下的TCP/UDP示例代码

    【Lazarus下的TCP/UDP示例代码】是面向开发者的一款实用示例,适用于那些希望在不同操作系统上构建网络通信程序的人。Lazarus是一个开放源码的跨平台Delphi克隆,它提供了与Delphi几乎相同的集成开发环境(IDE)和...

    一个使用C++的HPSocket完整的demo,Tcp/Udp协议可转换

    【描述】中的这个项目提供了一个基于C++的HPSocket库的示例应用,该库支持TCP和UDP两种网络通信协议。这个demo是完全可运行的,并且设计得相当灵活,用户只需简单修改ClientDlg.h和ServerDlg.h两个头文件中的“Tcp”...

    socket tcp/udp demo

    在这个"socket tcp/udp demo"中,我们将会探讨TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)这两种不同的传输协议以及它们在实际应用中的示例。 TCP是一种面向连接的、可靠的传输协议。在...

    UDP-TCP.rar_TCP UDp_TCP-UDP_tcp/udp socket_网络UDP TCP

    标签中的"tcp_udp", "tcp-udp", "tcp/udp_socket"和"网络udp_tcp"都是对主题的关键词提炼,突出了TCP和UDP在Socket编程中的重要性。 TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是互联网...

    ethnet udp tcp.rar_TCP UDP SOCKET_TCP/UDP通信_tcp套接字_udp 程序

    在这个名为"ethnet udp tcp.rar"的压缩包文件中,我们可以预见到包含了一些关于TCP和UDP套接字编程的示例或工具,适用于Windows操作系统。 TCP是一种面向连接的、可靠的协议。它确保了数据包的顺序传递和错误检测,...

    基于socket的TCP和UDP编程介绍

    ### 基于Socket的TCP和UDP编程介绍 #### 一、概述 TCP(传输控制协议)和UDP(用户数据报协议)是网络...以上介绍了基于Socket的TCP和UDP编程的基本概念、特点、API调用以及一个简单的示例程序,希望对您有所帮助。

    Socket-tcpudp.rar_tcpudp

    在这个"Socket-tcpudp.rar"压缩包中,很可能包含了一系列关于如何使用Socket进行TCP和UDP通信的源代码示例。让我们深入探讨一下这两个协议以及Socket编程的基础知识。 TCP(Transmission Control Protocol)是一种...

    Socket(TCP,UDP)工具.7z

    在提供的`Socket(TCP,UDP)工具`压缩包中,很可能包含了用于演示和测试TCP和UDP通信的代码示例,包括创建服务器和客户端、建立连接、接收和发送消息等功能。这些工具对于学习和调试Socket编程非常有帮助,开发者可以...

    VC异步Socket TCP/UDP通信,有客户端和服务器

    VC++(Visual C++)作为Microsoft开发的一款集成开发环境,提供了丰富的库支持来实现网络编程,包括使用Socket进行TCP和UDP通信。异步Socket通信是其中一种高效且常用的通信方式,它可以处理大量并发连接,提高系统...

    TCP-UDP-Socket.zip_socket udp c#_tcp/udp socket_udp编程

    在这个"TCP-UDP-Socket.zip"压缩包中,包含了基于C#语言的TCP和UDP Socket编程示例,对于理解和应用这两种协议非常有帮助。 首先,TCP是一种面向连接的协议,它保证了数据的可靠传输。在数据传输前,TCP会建立一个...

    TCP、UDP简单示例程序

    在IT领域,网络通信是计算机科学的一个重要组成部分,TCP(传输控制协议)和UDP(用户数据报协议)是两种广泛使用的传输层协议。本篇文章将深入解析这两种协议,并通过简单的示例程序来阐述它们的工作原理。 TCP...

    TCP_UDP_SERVER.rar_UDP 类_socket类_tcp-udpserver_udp server_udp s

    用户可以通过学习这个示例来理解如何使用socket类创建服务器,处理来自TCP和UDP的网络通信,以及如何利用多线程技术提高服务器性能。同时,"www.pudn.com.txt"中的文档可能提供了详细的使用指南和代码解释,帮助...

    Socket网络编程(TCP和UDP)

    在socket_demo这个压缩包中,应该包含了一些示例代码,可能分为服务器端(server)和客户端(client)两个部分,分别演示了TCP和UDP的使用。通过这些示例,你可以学习到如何在实际项目中应用Socket编程技术,实现...

Global site tag (gtag.js) - Google Analytics