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

TCP/UDP By Java

 
阅读更多
import java.io.*;
import java.net.*;

class TCPServer{
	public static void main(String[] args)throws IOException{
		ServerSocket listen = new ServerSocket(5050);
		
		Socket server  = listen.accept();

		InputStream in = server.getInputStream();
		OutputStream out = server.getOutputStream();

		char c = (char)in.read();
		System.out.println("Get:" + c);

		out.write('s');
		
		out.close();
		in.close();
		server.close();
		listen.close();
	}
}

 

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

class TCPClient{
	public static void main(String[] args)throws IOException{
		Socket client = new Socket("127.0.0.1" , 5050);

		InputStream in = client.getInputStream();
		OutputStream out = client.getOutputStream();
		
		out.write('c');

		char c = (char)in.read();
		System.out.println("�յ�:" + c);

		out.close();
		in.close();
		client.close();
	}
}

 

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

class UDPServer{
	public static void main(String[] args)throws IOException{
		DatagramSocket  server = new DatagramSocket(5050);

		byte[] recvBuf = new byte[100];
		DatagramPacket recvPacket 
			= new DatagramPacket(recvBuf , recvBuf.length);

		server.receive(recvPacket);

		String recvStr = new String(recvPacket.getData() , 0 , recvPacket.getLength());
		System.out.println("Hello World!" + recvStr);

		int port = recvPacket.getPort();
		InetAddress addr = recvPacket.getAddress();
		String sendStr = "Hello ! I'm Server";
		byte[] sendBuf;
		sendBuf = sendStr.getBytes();
		DatagramPacket sendPacket 
			= new DatagramPacket(sendBuf , sendBuf.length , addr , port );

		server.send(sendPacket); 

		server.close();
	}
}

 

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

class UDPClient{
	public static void main(String[] args)throws IOException{
		DatagramSocket client = new DatagramSocket();
		
		String sendStr = "Hello! I'm Client";
		byte[] sendBuf;
		sendBuf = sendStr.getBytes();
		InetAddress addr = InetAddress.getByName("127.0.0.1");
		int port = 5050;
		DatagramPacket sendPacket 
			= new DatagramPacket(sendBuf ,sendBuf.length , addr , port);

		client.send(sendPacket);

		byte[] recvBuf = new byte[100];
		DatagramPacket recvPacket
			= new DatagramPacket(recvBuf , recvBuf.length);
		client.receive(recvPacket);
		String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());
		System.out.println("�յ�:" + recvStr);

		client.close();
	}
}

 

分享到:
评论

相关推荐

    Java中的网络编程(UDP、TCP/IP协议)

    Java中的网络编程主要涉及到两种主要的传输协议:UDP(用户数据报协议)和TCP/IP(传输控制协议/因特网协议)。这两种协议在计算机网络通信中扮演着不同的角色。 1. UDP(用户数据报协议): UDP是一种无连接的...

    java network programming by Elliotte Rusty Harold

    Java提供了丰富的网络编程API,如`java.net`包,它包含了Socket、ServerSocket、DatagramSocket、URL等类,用于实现TCP/IP和UDP通信。Socket用于面向连接的通信,ServerSocket用于监听客户端连接请求;而...

    java基础之网络编程讲解,适合初级人员入门学习

    ### Java基础之网络编程讲解...通过上述内容的学习,初学者可以掌握Java网络编程的基础知识,包括网络模型的理解、网络通讯要素的认识以及如何使用Socket进行TCP/UDP通信。这些知识是构建更复杂网络应用程序的基础。

    java网络编程培训文档

    - **Java网络编程的范围**:Java网络编程主要支持TCP和UDP两种传输层协议。尽管不直接支持IP层协议如ICMP,但它为开发者提供了强大的工具和类库来构建复杂的应用程序。 - **Socket类介绍**:Socket是Java网络编程的...

    JAVA架构师知识整理.zip_by2kc_jvm_书籍_微服务_架构

    这份"JAVA架构师知识整理.zip"压缩包包含了由by2kc编纂的资料,主要涵盖了JVM(Java虚拟机)、微服务、架构设计等多个关键知识点。 首先,JVM是Java语言的核心组成部分,它负责解释和执行Java代码。理解JVM的工作...

    东软载波笔试题

    ### 网络编程:安全的UDP协议与路由器对TCP/UDP的影响 #### 安全的UDP协议 UDP(用户数据报协议)是一种无连接的协议,效率高但可靠性差。设计一个安全的UDP协议通常涉及到加密和认证机制,如使用TLS/DTLS协议来...

    中国电信2016年IT研发工程师笔试题及答案.pdf

    * TCP/IP是最常用的计算机网络协议家族,包括TCP、IP、UDP等协议。 * 在TCP/IP协议中,MSS(Maximum Segment Size)是指每个数据包的最大长度,通常为1KB。 * RTT(Round-Trip Time)是指数据包从发送到接收再 terug...

    Java经典书箱批量打包速查手册HandBood系列(By FengGe整理)

    4. **网络编程**:Java的Socket和ServerSocket类提供了TCP/IP编程的能力,而DatagramSocket和DatagramPacket则支持UDP协议。这些类使得Java可以构建各种网络应用。 5. **反射**:Java的反射机制允许程序在运行时...

    chatting-code-made-by-java.rar_made

    【标题】"chatting-code-made-by-java.rar_made" 提供了一个关于使用Java编程实现的聊天窗口项目。这个项目旨在创建一个小型但实用的聊天应用,支持一对一或多人的交流模式。 【描述】"用JAVA编的小型很使用的聊天...

    Java Network Programming 3rd Edition By Elliotte Rusty Harold 2004

    IP, TCP, and UDP Section 2.4. The Internet Section 2.5. The Client/Server Model Section 2.6. Internet Standards Chapter 3. Basic Web Concepts Section 3.1. URIs Section 3.2. HTML, SGML, ...

    Java By Abstraction

    《Java By Abstraction》是一本面向初学者的Java学习资料,采用客户端视角的方法来阐述Java编程的核心概念。这本书旨在帮助新手逐步理解并掌握Java语言,通过抽象的方式将复杂的编程概念转化为易于理解的形式。以下...

    VoiceMod PRO By Hintstict_VoicemodPro_java_源码.zip

    源码中可能会包含网络通信模块,使用TCP/IP或者UDP协议来传输经过处理的音频数据。这部分代码会处理数据包的封装、解封装,以及网络延迟和丢包的处理策略。 4. **用户界面**:尽管是后端的Java源码,但UI的交互逻辑...

    银行各部门笔经汇总.doc

    10. **TCP与UDP的区别**: - TCP(Transmission Control Protocol)提供面向连接的、可靠的数据传输,保证数据包顺序和无丢失。 - UDP(User Datagram Protocol)是无连接的,不保证数据包的顺序或到达,但传输...

    java基础教程(很详细)

    学会使用TCP和UDP协议进行网络通信,对于开发分布式应用非常有帮助。 最后,Java标准库提供了大量实用类,如日期时间API、数学运算、字符串处理等,熟练掌握这些类将极大提高编程效率。 总的来说,这份“java基础...

    2010年11月JAVA面试题汇总.pdf

    由于UDP的无连接特性,它比TCP使用较少的资源,但数据传输的安全性不如TCP。 4. Java中的数据库编程 - Java提供了JDBC(Java Database Connectivity)用于数据库操作的API,通过JDBC可以连接到各种类型的数据库。 ...

    IT名企面试题精选------直面成功!著名IT企业(word文档)

    - TCP/UDP协议:连接建立、数据传输、流量控制、拥塞控制。 - HTTP/HTTPS协议,以及HTTP状态码的含义。 - DNS域名解析过程。 5. 数据库设计与SQL: - ER模型、关系数据库理论、范式理论(1NF、2NF、3NF等)。 ...

    java自学必读书目

    - TCP/IP协议栈的理解 - Java Socket编程 - 网络数据格式 - 客户端与服务器模型 - UDP协议的应用 - 网络编程最佳实践等。 #### 四、多线程与并发篇 **1.《Java Concurrency in Practice》** - **作者:** ...

    java夜未眠读书心得.doc

    进阶部分涵盖了常用的编程知识、文件编程、I/O编程、网络编程(TCP和UDP)、Swing图形界面编程以及JDBC数据库连接。 在实践中,作者分享了对静态工厂方法与构造器的思考。使用静态工厂方法而非构造器的优点包括:1)...

    java8集合源码分析-Petal:面试复习及面试经验

    java8 集合源码分析 开发面试常见问题整理 算法题:这个一般不难,剑指offer或者LeetCode ...网络:TCP三次握手四次挥手,TCP/IP传输原理,拥塞避免算法,DNS原理,访问一个URL的过程,UDP TCP区别,LVS,路由

    flink 1.14.3基础环境下的nc+wordcount(java)

    nc(netcat)是一个网络工具,可以用来创建TCP或UDP连接,也可以用于接收来自网络的数据流。 ```java import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.streaming.api....

Global site tag (gtag.js) - Google Analytics