最近要用到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 实例,实现网络通信的最简单方法。
串口,TCP, UDP通信例子(源代码)
UDP TCP 详细介绍 实现步骤 代码实例详解
欧姆龙PLC之Fins UDP与Fins TCP协议解析与通讯测试
下面小编就为大家带来一篇浅谈java的TCP和UDP编程(附实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
简单清晰具有启发性的实例。 Net1和Client1类实现了TCP的简单应用。 Udp和Udpwatch类实现了UDP的简单应用。 Chater是一个聊天小工具,综合运用了TCP,UDP,IO,GUI,Thread等技术。对初学者很有启发性。
用java编写的基于UDP和TCP两种协议编写的Socket(网络编程)案列
NULL 博文链接:https://xusaomaiss.iteye.com/blog/581757
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Java NIO开发技术的 TCP/UDP通信协议Mina框架的实例开发,一个简单的小栗子!
采用TCP的实现文件传输及接收,采用UDP实现消息的发送及接收,利用多线程原理实现交互侦听,利用到的知识点包含,JSplitPane,JList,Thread,Process,Socket,DategramPacket,是初学者了解java网络及C/S结构编程的很好...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
一个Socket实例代表了TCP连接的一个客户端,而一个ServerSocket实例代表了TCP连接的一个服务器端,一般在TCP Socket编程中,客户端有多个,而服务器端只有一个,客户端TCP向服务器端TCP发送连接请求,服务器端的...
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相对于TCP速度要快,但是UDP很容易丢包,这个实例就会很好的解决UDP丢包的弊病,但是并不是100%解决丢包,只是减少了丢包的概率,希望对大家有用
实例79 创建与删除数据库中的表 实例80 Servlet中连接数据库 实例81 留言板程序 实例82 客户登录Servlet小程序 实例83 访问权限控制 实例84 产生密钥 实例85 对称加密 实例86 非对称加密 实例87 数字签名 实例88 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见问题 找不到类文件 6 常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 ...
实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列...
第8章:介绍了TCP程序设计流程、基于C/C++的TCP程序设计实例和基于Java技术的TCP程序设计实例。 第9章:介绍了UDP程序设计流程、基于C/C++的UDP程序设计实例和基于Java技术的UDP程序设计实例。 第10章:介绍了使用...