java udp socket(双通信)
参考博客:http://blog.csdn.net/wintys/article/details/3525643/,非常感谢
实现功能:客户端发送字符串A ->服务端接收并显示在控制台
服务端回复字符串B ->客户端接收并显示在控制台
服务端程序:
package udpServer; import java.io.*;
import java.net.*; /**
* 服务端
* 1、创建服务+端口
* 2、准备接受容器 byte数组
* 3、把接收容器封装成包 DatagramPacket
* 4、接受数据
* 5、分析数据
*/
public class server { 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("接收:\t" + recvStr); int port = recvPacket.getPort();
InetAddress addr = recvPacket.getAddress();
String sendStr = "Hello ! 我是服务器";
byte[] sendBuf;
sendBuf = sendStr.getBytes();
DatagramPacket sendPacket
= new DatagramPacket(sendBuf , sendBuf.length , addr , port ); server.send(sendPacket); server.close();
}
}
客户端程序:
package udpClient; import java.io.*;
import java.net.*; /**
* 1、创建客户端+端口
* 2、准备数据 字节数组
* 3、给数据打包 并指定发送的目的地和端口
* 4、发送
* 5、释放
*
* 思考 : 发送有类型的数据 怎么处理 如对象 数字 等等
*/
public class client {
public static void main(String[] args) throws IOException {
DatagramSocket client = new DatagramSocket(); String sendStr = "我是客户端";
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("收到: \t" + recvStr); client.close();
} }
java udp socket(双通信)的更多相关文章
- 项目总结22:Java UDP Socket数据的发送和接收
项目总结22:Java UDP Socket数据的发送和接收 1-先上demo 客户端(发送数据) package com.hs.pretest.udp; import java.io.IOExcep ...
- java udp socket通信(仅发送)
实现功能:客户端发送一个字符串(可以为汉字),服务器端接收并显示 服务器端程序: package udpServer; import java.io.*; import java.net.*; /** ...
- Java UDP Socket
本文转载地址: Java学习路上的收获:http://blog.csdn.net/qinpeng100423/article/details/8980423 一. UDP协议定义 U ...
- Java使用Socket进行通信
什么是Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以 ...
- Java Udp Socket Simple Demo
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import j ...
- JAVA基础知识之网络编程——-基于UDP协议的通信例子
UDP是一种不可靠的协议,它在通信两端各建立一个socket,这两个socket不会建立持久的通信连接,只会单方面向对方发送数据,不检查发送结果. java中基于UDP协议的通信使用DatagramS ...
- java socket报文通信(一)socket的建立
java socket报文通信(一) socket的建立 今天来和大家分享一下java中如何使用socket进行通信.先来啰嗦两句,看看Tcp/ip和udp: TCP是Transfer Contro ...
- Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
连接地址:http://www.cnblogs.com/mengdd/archive/2013/03/10/2952673.html 使用无连接的数据报(UDP)进行通信 什么是Datagram? 数 ...
- Java Socket应用---通信是这样练成的
网络基础简介 Java 中网络相关 API 的应用 Java 中的 InetAddress 的应用 Test01.java package com.imooc; import java.n ...
随机推荐
- 微信小程序下拉刷新和上拉加载
小程序知识点二 1.上拉加载和下拉刷新 Wxml文件 <scroll-view scroll-top="{{scrollTop}}" scroll-y="true& ...
- NSURLRequest POST方式请求服务器示例
http://lizhuang.iteye.com/blog/1833297 1. 准备阶段 NSString *urlString = [NSString stringWithFormat:@&q ...
- ajax常用写法
$.ajax( url,{ type:"post", data:{},}) .done(function() { alert("success"); }) .f ...
- width这样读取出来是一个字符串,并且带有单位,但是offsetwidth返回的是一个数值。
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title> ...
- 安卓 ArrayList,LinkedList,HashSet,Vector,TreeSet的区别和使用
java的集合就那么几种 总体为:List,Set,Map (都是接口由其子类去实现具体的方法) ArrayList,LinkedList,Vector都属于List List:元素是有顺序的,元素可 ...
- Bzoj 1936
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1396 题解:待更 代码:待更 开始时间: 结束时间:
- mysql 5.5中文乱码问题
一.登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+----------------- ...
- ArcGisServer根据最大最小坐标换算瓦片行列号(转载)
ArcGisServer根据最大最小坐标换算瓦片行列号 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或经纬度)的换算方法,而知道这个原理后,接下来我们要怎么用它呢?它和我们前端 ...
- MyEclipse 修改项目字符集
项目->右键+properties->Resource->Text file container->others->utf-8
- iOS 错误 之 Potential leak of an object stored into 'cs'
存储到 “cs”的对象存在潜在的泄露