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协议实现客户服务器数据交互的更多相关文章

  1. TCP移动端跟服务器数据交互

    同一台笔记本下的客户端和服务端 TCPClient 客户端: //  RootViewController.h#import <UIKit/UIKit.h>#import "As ...

  2. python3实现UDP协议的简单服务器和客户端

    利用python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端.为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了. UD ...

  3. Appcn 移动开发 前台与服务器数据交互

    第一次写.嘿嘿. 言归正传,这几天开始学习移动开发,使用的是Appcan平台.Appcan平台采用HTML5+CSS3做开发 实现跨平台,正好可以满足我们的业务需求. Appacn和数据库进行交互的方 ...

  4. 局域网内通过UDP协议进行传输接受数据——AsyncUdpSocket

    在相同的局域网内,可以通过Udp协议进行数据的传输和接收,Udp协议与Http协议不同,Udp更加方便快捷,省去了很多步骤,但是也有很多传输问题,在局域网内小范围传输数据时Udp还是非常能够胜任的. ...

  5. unity用json和服务器数据交互

    第一种类型:服务器json数据是个对象 /// <summary> /// 获取用户信息初始化信息 /// </summary> void InitUserMessage() ...

  6. mui.ajax()和asp.net sql服务器数据交互【2】json数组和封装

    今天没有做循环创建显示:可以参考张鑫旭的文章:<基于HTML模板和JSON数据的JavaScript交互> 1.ashx页面代码 //下面的封装一般框架底层都是写好的:连接 数据库和获取D ...

  7. mui.ajax()和asp.net sql服务器数据交互【1】

    简单的ajax和asp.net的交互,例如遍历数据,前端显示复杂内容没有添加代码,可自行研究!非常适合懂那么一点点的我们! 实现步骤: 1.APP前端HTML: <div class=" ...

  8. android get或post及HttpClient与服务器数据交互

    1.Service package mydemo.mycom.demo2.service; import org.apache.http.HttpResponse; import org.apache ...

  9. python+soket实现UDP协议的客户/服务端中文聊天程序

    没什么特别的东西,网上烂大街的C/S框架.(基于windows 7 + python 3.4) 为了实现中文聊天,我加入了一点修改: msg.encode('utf-8') # msg 为输入(且将要 ...

随机推荐

  1. linux升级python3.6相关命令

    sudo apt-get install python3.6 sudo update-alternatives --install /usr/bin/python python /usr/bin/py ...

  2. IE浏览器右键菜单插件开发(下篇)——如何用c#安装、卸载IE右键插件

    建立Installer安装类,如图: 代码如下: using Microsoft.Win32; using ResourceShare.UserClient.Common; using System; ...

  3. VHDL和verilog应该先学哪个?

    网上有太多的VHDL和verilog比较的文章,基本上说的都是VHDL和verilog之间可以实现同一级别的描述,包括仿真级.寄存器传输级.电路级,所以可以认为两者是等同级别的语言.很多时候会了其中一 ...

  4. MySQL多数据源笔记4-Mycat中间件实战

    Mycat 是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服 务.由于前面讲的对数据进行分片处理之后,从原有的一个库,被切分为多个分片数据库,所有的分片数据库集 群构成了整个完整的 ...

  5. [.Net Core] 简单使用 Mvc 内置的 Ioc(续)

    简单使用 Mvc 内置的 Ioc(续) 本文基于 .NET Core 2.0. 上一章<[.Net Core] 简单使用 Mvc 内置的 Ioc>已经对日常 Mvc 中的 Ioc 的简单用 ...

  6. 用js制作日期 2017-03-23

    日期表: <body> <select id="year" ></select>年 <select id="month" ...

  7. mysql备份并转移数据

    一.使用mysqldump进行备份 直接输入命令mysqldump会发现提示命令不存在,是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下, 自然会找不到命令,并报错.知道了问题 ...

  8. python爬微信公众号前10篇历史文章(3)-lxml&xpath初探

    理解lxml以及xpath 什么是lxml? python中用来处理XML和HTML的library.与其他相比,它能提供很好的性能, 并且它支持XPath. 具体可以查看官方文档->http: ...

  9. 51ak带你看MYSQL5.7源码3:修改代码实现你的第一个Mysql版本

    从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...

  10. 堆排序(Java数组实现)

    堆排序:利用大根堆 数组全部入堆,再出堆从后向前插入回数组中,数组就从小到大有序了. public class MaxHeap<T extends Comparable<? super T ...