UDP协议实现客户服务器数据交互
UDP协议实现客户服务器数据交互
按照往常一样将今天自己写的题目答案写在了博客上
习题:
客户端循环发送消息给服务端,服务端循环接收,并打印出来,直到收到Bye就退出程序。
package network; import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.util.Scanner; /**
* 使用udp协议实现的客户端
*
* @author TangJiang 2017年11月18日 下午5:17:55
*
*/
public class Client {
public static void main(String[] args) throws Exception {
// 创建客户端键盘输入对象
Scanner s = new Scanner(System.in);
// 创建客户端
InetSocketAddress client = new InetSocketAddress(10086);
// 创建服务端
InetSocketAddress server = new InetSocketAddress("127.0.0.1", 10010);
// 创建快递员
DatagramSocket socket = new DatagramSocket(); while (true) {
// 获得键盘录入的字符串
String str = s.nextLine();
if (str.equalsIgnoreCase("Bye")) {
break;
} else { // 创建数据包
DatagramPacket packet = new DatagramPacket(str.getBytes(), str.getBytes().length, server);
// 发送数据
socket.send(packet); } }
// 关闭soket服务
socket.close();
}
}
package network; import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress; /**
* 使用udp协议实现服务端接收数据
*
* @author TangJiang 2017年11月18日 下午5:28:32
*
*/
public class Server {
public static void main(String[] args) throws Exception {
// 创建收件方地址
InetSocketAddress server = new InetSocketAddress(10010);
// 快递员
DatagramSocket socket = new DatagramSocket(server); while (true) {
// 创建一个新的字节数组接收数据包
byte[] bs = new byte[1024]; // 创建数据包
DatagramPacket packet = new DatagramPacket(bs, bs.length); // 接收数据
socket.receive(packet); // 处理收到的数据,将字节转换可读的字符串形式
String str = new String(bs);
System.out.println("收到消息:" + str); }
}
}
UDP协议实现客户服务器数据交互的更多相关文章
- TCP移动端跟服务器数据交互
同一台笔记本下的客户端和服务端 TCPClient 客户端: // RootViewController.h#import <UIKit/UIKit.h>#import "As ...
- python3实现UDP协议的简单服务器和客户端
利用python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端.为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了. UD ...
- Appcn 移动开发 前台与服务器数据交互
第一次写.嘿嘿. 言归正传,这几天开始学习移动开发,使用的是Appcan平台.Appcan平台采用HTML5+CSS3做开发 实现跨平台,正好可以满足我们的业务需求. Appacn和数据库进行交互的方 ...
- 局域网内通过UDP协议进行传输接受数据——AsyncUdpSocket
在相同的局域网内,可以通过Udp协议进行数据的传输和接收,Udp协议与Http协议不同,Udp更加方便快捷,省去了很多步骤,但是也有很多传输问题,在局域网内小范围传输数据时Udp还是非常能够胜任的. ...
- unity用json和服务器数据交互
第一种类型:服务器json数据是个对象 /// <summary> /// 获取用户信息初始化信息 /// </summary> void InitUserMessage() ...
- mui.ajax()和asp.net sql服务器数据交互【2】json数组和封装
今天没有做循环创建显示:可以参考张鑫旭的文章:<基于HTML模板和JSON数据的JavaScript交互> 1.ashx页面代码 //下面的封装一般框架底层都是写好的:连接 数据库和获取D ...
- mui.ajax()和asp.net sql服务器数据交互【1】
简单的ajax和asp.net的交互,例如遍历数据,前端显示复杂内容没有添加代码,可自行研究!非常适合懂那么一点点的我们! 实现步骤: 1.APP前端HTML: <div class=" ...
- android get或post及HttpClient与服务器数据交互
1.Service package mydemo.mycom.demo2.service; import org.apache.http.HttpResponse; import org.apache ...
- python+soket实现UDP协议的客户/服务端中文聊天程序
没什么特别的东西,网上烂大街的C/S框架.(基于windows 7 + python 3.4) 为了实现中文聊天,我加入了一点修改: msg.encode('utf-8') # msg 为输入(且将要 ...
随机推荐
- js备战春招の四のjs函数
1.普通函数声明: 2.函数表达式:函数表达式可以存储在变量中,在函数表达式存储在变量后,变量也可作为一个函数使用: 以上函数实际上是一个 匿名函数 (函数没有名称).函数存储在变量中,不需要函数名称 ...
- 精解Mat类(一):基本数据类型-固定大小的 矩阵类(Matx) 向量类(Vector)
一.基础数据类型 1.(基础)固定大小矩阵类 matx 说明: ① 基础矩阵是我个人增加的描述,相对于Mat矩阵类(存储图像信息的大矩阵)而言. ② 固定大小矩阵类必须在编译期间就知晓其维 ...
- JavaScript 数组基础知识
// Array 类型: // 检测数组: // console.log(myarr instanceof Array) //true // toString()方法会返回由数组中每个值的字符串形式拼 ...
- Python的多线程GIL浅谈
来源知乎:https://www.zhihu.com/question/23474039/answer/269526476 在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的 ...
- Php显示中文时乱码
<?php echo "你们好哈"; ?> 显示乱码,解决办法 <?php header("content-type:text/html; charse ...
- vue使用 better-scroll的参数和方法
格式:var obj = new BScroll(object,{[option1,],.,.}); 注意: 1.要确保object元素的高度比其父元素高 2.使用时,一定要确保object所在的do ...
- FTP站点设置
0x00前言: 应老师今天教的和题目所需 有了今天的博文 0x01准备: windows server 2008 FTP服务 0x02正文: 1.先安装FTP服务 先打开--服务器管理 点击--添加角 ...
- 你不知道的Google控制台
1.页面可编辑 document.body.contentEditable=true 2.console.table() 3.console.dir 4.clear() 清空控制台 5.sources ...
- (floyd)佛洛伊德算法
Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APSP)的算法.从表面上粗看,Floyd算法是一个非常简单的 ...
- Vmware虚拟机不能使用键盘的解决方法
有个笔记本thinkpad T440要重装系统,但又怕前面的资料丢失,因此打算直接将整个物理机迁移到VCenter 6.5上去,比GHOST什么的方便多了,利用Vmware Convert工具直接在线 ...