基于UTP的Socket编程(基础)
来源:互联网 发布:淘宝网返利网 编辑:程序博客网 时间:2024/06/11 10:32
User
package com.imooc.UTPReturn;import java.io.Serializable;public class User implements Serializable{private String username;private String password;public User(String username, String password) {this.username = username;this.password = password;}@Overridepublic String toString() {return "User [username=" + username + ", password=" + password + "]";}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
Server
package com.imooc.UTPReturn;import java.io.ByteArrayInputStream;import java.io.ObjectInputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class UTPServer {public static void main(String[] args) throws Exception {/* * 服务器端接收客户端的请求 */// 创建服务器端DatagramSocketDatagramSocket socket = new DatagramSocket(8800);// 创建数据包byte[] data = new byte[1024];DatagramPacket packet = new DatagramPacket(data, data.length);// 服务器端已经启动...System.out.println("服务器端已经 启动....");socket.receive(packet);// 接收数据// 读取客户端发来的数据// String str=new String(data, 0, packet.getLength());// System.out.println("我是服务器,客户端说:"+str);// bytearray to objectByteArrayInputStream bi = new ByteArrayInputStream(data);ObjectInputStream oi = new ObjectInputStream(bi);User user = (User)oi.readObject();bi.close();oi.close();System.out.println(user.toString());/* * 服务器端回应客户端 */// 给客户端发出响应byte[] responseData = null;responseData = "欢迎你".getBytes();InetAddress address = packet.getAddress();int port = packet.getPort();DatagramPacket responsePacket = new DatagramPacket(responseData,responseData.length, address, port);socket.send(responsePacket);// 关闭资源socket.close();}}
Client
package com.imooc.UTPReturn;import java.io.ByteArrayOutputStream;import java.io.ObjectOutputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class UTPClient {public static void main(String[] args) throws Exception {/* * 客户端向服务器端发送数据 */// 定义数据报的地址,端口,数据InetAddress address = InetAddress.getByName("localhost");int port = 8800;// 定义数据报的内容// byte[] data="用户名admin,密码123".getBytes();User user = new User("张三", "123");byte[] data = null;// object to bytearrayByteArrayOutputStream bo = new ByteArrayOutputStream();ObjectOutputStream oo = new ObjectOutputStream(bo);oo.writeObject(user);data = bo.toByteArray();bo.close();oo.close();// 创建数据报DatagramPacket packet = new DatagramPacket(data, data.length, address,port);// 创建DatagramSocket对象DatagramSocket socket = new DatagramSocket();// 发送数据报socket.send(packet);/* * 客户端接收服务器端的回应 */socket.receive(packet);String responseStr = new String(data, 0, packet.getLength());System.out.println("我是客户端,服务器端回应说:" + responseStr);}}
阅读全文
0 0
- 基于UTP的Socket编程(基础)
- 基于epoll的socket编程(1)------ socket编程基础
- 基于Win Socket的网络编程基础
- 基于UDP的Java Socket编程基础
- Socket编程基础--基于TCP协议的网络编程
- Linux下基于C/C++的Socket编程基础
- Linux下基于C/C++的Socket编程基础
- Linux下基于C/C++的Socket编程基础
- Linux下基于C/C++的Socket编程基础
- Android基于客户端和服务器的Socket编程例子之Socket基础通讯--socket相关知识
- Android基于客户端和服务器的Socket编程例子之Socket基础通讯--socket模型使用
- 基于TCP的socket编程
- 基于UDP的socket编程- -
- 基于UDP的socket编程
- 基于UDP的socket编程
- 基于TCP的socket编程
- 基于UDP的socket编程
- 基于Python的socket编程
- 线程的生命周期
- python基础语法
- 【笔记】深入理解 java 虚拟机---运行时数据区域
- css中设置边框阴影效果
- 2017年12月14日训练总结
- 基于UTP的Socket编程(基础)
- ionic侧拉实现
- 产品经理内功修炼——如何让用户任性的买买买
- tablayout横向滑动
- 网页复制的几种方法
- 12种视屏播放框架
- 关于需要学习的知识总结
- 2017.12.14 AtomicInteger、分页、MyBatis中trim标签
- 前端零基础入门(七):基础css样式之background