`
java-mans
  • 浏览: 11421804 次
文章分类
社区版块
存档分类
最新评论

java中TCP与UDP实例

 
阅读更多

最近要用到TCP与UDP通信,故学习一下。

1.TCP通信

a.TCPServer

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServer {
	// 建立ServerSocket,并设置其端口号
	private ServerSocket ss;

	public static final int port = 8962;

	public TCPServer() {

		try {

			ss = new ServerSocket(port);

		} catch (IOException e) {

			e.printStackTrace();
		}

	}

	public void setConnection() throws IOException {
		// 建立服务器端的Socket
		Socket s;
		OutputStream os;
		try { // ServerSocke.accept()t返回一个Socket对象

			s = ss.accept();
			os = s.getOutputStream();
			os.write("hello".getBytes());
			os.close();
			s.close();
		} catch (IOException e) {

			e.printStackTrace();
		}

	}

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

		TCPServer ms = new TCPServer();
		ms.setConnection();

	}

}

b.TCPClient

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;

public class TCPClient {
	public static final String IP = "192.168.0.157";
	public static final int port = 8962;
	private Socket s;

	public TCPClient() throws IOException {
		try {
			s = new Socket(IP, port);

		} catch (IOException e) {

			e.printStackTrace();
		}
	}

	public void setConnection() throws IOException {

		InputStream is;

		try {
			is = s.getInputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(is));

			System.out.println(br.readLine());

		} catch (IOException e) {

			e.printStackTrace();
		}

	}

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

		TCPClient mc = new TCPClient();
		mc.setConnection();

	}

}

2.UDP通信

a.UDPServer

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPServer {
	public static void main(String[] rrgs) throws IOException {
		DatagramSocket socket = new DatagramSocket(14567);
		while (true) {
			
			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());
			System.out.println("result--->" + result);
		}

	}

}

b.UDPClient

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClient {
	public static void main(String[] args) {
		try {
			// 首先创建一个DatagramSocket对象
			DatagramSocket socket = new DatagramSocket();
			// 创建一个InetAddree
			InetAddress serverAddress = InetAddress.getByName("192.168.0.157");
			String str = "hello"; // 这是要传输的数据
			byte data[] = str.getBytes(); // 把传输内容分解成字节
			// 创建一个DatagramPacket对象,并指定要讲这个数据包发送到网络当中的哪个、地址,以及端口号
			DatagramPacket packet = new DatagramPacket(data, data.length,
					serverAddress, 14567);
			// 调用socket对象的send方法,发送数据
			socket.send(packet);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}




分享到:
评论

相关推荐

    tcp udp java 实例

    tcp udp 实例,实现网络通信的最简单方法。

    串口,TCP, UDP通信实例(源代码)

    串口,TCP, UDP通信例子(源代码)

    java udp and tcp

    UDP TCP 详细介绍 实现步骤 代码实例详解

    欧姆龙PLC之Fins UDP与Fins TCP协议解析与通讯测试.pptx

    欧姆龙PLC之Fins UDP与Fins TCP协议解析与通讯测试

    浅谈java的TCP和UDP编程(附实例讲解)

    下面小编就为大家带来一篇浅谈java的TCP和UDP编程(附实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java_network_code_examples.rar_TCP java_java IO_java udp_udp gui

    简单清晰具有启发性的实例。 Net1和Client1类实现了TCP的简单应用。 Udp和Udpwatch类实现了UDP的简单应用。 Chater是一个聊天小工具,综合运用了TCP,UDP,IO,GUI,Thread等技术。对初学者很有启发性。

    基于UDP和TCP协议的Socket(网络编程/套接字)案例

    用java编写的基于UDP和TCP两种协议编写的Socket(网络编程)案列

    关于简单tcp和UDP 服务端实例

    NULL 博文链接:https://xusaomaiss.iteye.com/blog/581757

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Mina Tcp实例

    Java NIO开发技术的 TCP/UDP通信协议Mina框架的实例开发,一个简单的小栗子!

    UDP及TCP结合的聊天室

    采用TCP的实现文件传输及接收,采用UDP实现消息的发送及接收,利用多线程原理实现交互侦听,利用到的知识点包含,JSplitPane,JList,Thread,Process,Socket,DategramPacket,是初学者了解java网络及C/S结构编程的很好...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java TCPIP Socket编程 源码

    一个Socket实例代表了TCP连接的一个客户端,而一个ServerSocket实例代表了TCP连接的一个服务器端,一般在TCP Socket编程中,客户端有多个,而服务器端只有一个,客户端TCP向服务器端TCP发送连接请求,服务器端的...

    java编程基础,应用与实例

    21.1.1 TCP与UDP 390 21.1.2 端口与套接字 390 21.2 TCP程序设计基础 391 21.2.1 InetAddress类 392 21.2.2 ServerSocket类 393 21.2.3 Socket类 394 21.3 单向通信 396 21.3.1 接收字符串的服务器 ...

    提高UDP传输效率的实例

    大家都知道UDP相对于TCP速度要快,但是UDP很容易丢包,这个实例就会很好的解决UDP丢包的弊病,但是并不是100%解决丢包,只是减少了丢包的概率,希望对大家有用

    java编程100例

    实例79 创建与删除数据库中的表 实例80 Servlet中连接数据库 实例81 留言板程序 实例82 客户登录Servlet小程序 实例83 访问权限控制 实例84 产生密钥 实例85 对称加密 实例86 非对称加密 实例87 数字签名 实例88 ...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA 范例大全 光盘 资源

    实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见问题 找不到类文件 6 常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 ...

    java范例开发大全

    实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列...

    TCP/IP协议与网络编程技术

    第8章:介绍了TCP程序设计流程、基于C/C++的TCP程序设计实例和基于Java技术的TCP程序设计实例。 第9章:介绍了UDP程序设计流程、基于C/C++的UDP程序设计实例和基于Java技术的UDP程序设计实例。 第10章:介绍了使用...

Global site tag (gtag.js) - Google Analytics