// Path: java_learn/src/com/netty5/chapter07/pojo/SubscribeReq.java
// public class SubscribeReq implements Serializable{
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private int subReqID;
// 	
// 	private String userName;
// 	
// 	private String productName;
// 	
// 	private String phoneNumber;
// 
// 	public int getSubReqID() {
// 		return subReqID;
// 	}
// 
// 
// 	public void setSubReqID(int subReqID) {
// 		this.subReqID = subReqID;
// 	}
// 
// 
// 	public String getUserName() {
// 		return userName;
// 	}
// 
// 
// 	public void setUserName(String userName) {
// 		this.userName = userName;
// 	}
// 
// 
// 	public String getProductName() {
// 		return productName;
// 	}
// 
// 
// 	public void setProductName(String productName) {
// 		this.productName = productName;
// 	}
// 
// 
// 	public String getPhoneNumber() {
// 		return phoneNumber;
// 	}
// 
// 
// 	public void setPhoneNumber(String phoneNumber) {
// 		this.phoneNumber = phoneNumber;
// 	}
// 
// 
// 	@Override
// 	public String toString() {
// 		return "SubscribeReq [subReqID=" + subReqID + ", userName=" + userName
// 				+ ", productName=" + productName + ", phoneNumber="
// 				+ phoneNumber + "]";
// 	}
// 	
// 	
// }


import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext;
import com.netty5.chapter07.pojo.SubscribeReq;

package com.netty5.chapter09.client;



public class SubReqClientHandler extends ChannelHandlerAdapter{
	
	
	public SubReqClientHandler() {
	}
	
	/**
	 * 当客户端和服务端TCP链路建立成功后， 会调用此方法
	 */
	@Override
	public void channelActive(ChannelHandlerContext ctx) throws Exception {
		for(int i = 0; i < 100; i++) {
			ctx.write(subReq(i));
		}
		ctx.flush();
	}
	
	private SubscribeReq subReq(int i) {

// Path: java_learn/src/com/netty5/chapter07/pojo/SubscribeReq.java
// public class SubscribeReq implements Serializable{
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private int subReqID;
// 	
// 	private String userName;
// 	
// 	private String productName;
// 	
// 	private String phoneNumber;
// 
// 	public int getSubReqID() {
// 		return subReqID;
// 	}
// 
// 
// 	public void setSubReqID(int subReqID) {
// 		this.subReqID = subReqID;
// 	}
// 
// 
// 	public String getUserName() {
// 		return userName;
// 	}
// 
// 
// 	public void setUserName(String userName) {
// 		this.userName = userName;
// 	}
// 
// 
// 	public String getProductName() {
// 		return productName;
// 	}
// 
// 
// 	public void setProductName(String productName) {
// 		this.productName = productName;
// 	}
// 
// 
// 	public String getPhoneNumber() {
// 		return phoneNumber;
// 	}
// 
// 
// 	public void setPhoneNumber(String phoneNumber) {
// 		this.phoneNumber = phoneNumber;
// 	}
// 
// 
// 	@Override
// 	public String toString() {
// 		return "SubscribeReq [subReqID=" + subReqID + ", userName=" + userName
// 				+ ", productName=" + productName + ", phoneNumber="
// 				+ phoneNumber + "]";
// 	}
// 	
// 	
// }


// Path: java_learn/src/com/netty5/chapter09/client/SubReqClientHandler.java
import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext;
import com.netty5.chapter07.pojo.SubscribeReq;

package com.netty5.chapter09.client;



public class SubReqClientHandler extends ChannelHandlerAdapter{
	
	
	public SubReqClientHandler() {
	}
	
	/**
	 * 当客户端和服务端TCP链路建立成功后， 会调用此方法
	 */
	@Override
	public void channelActive(ChannelHandlerContext ctx) throws Exception {
		for(int i = 0; i < 100; i++) {
			ctx.write(subReq(i));
		}
		ctx.flush();
	}
	
	private SubscribeReq subReq(int i) {

		SubscribeReq req = new SubscribeReq();
