package communication.tcp;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* TCP客户端通信实现五
* @author Administrator
*
*/
public class ClintMIDlet6 extends MIDlet implements CommandListener, Runnable{
private SocketConnection sc = null;
private DataInputStream dis = null;
private DataOutputStream dos = null;
private boolean ISRUN = true;//控制线程的开始
private TextField tfNickName = new TextField("输入昵称:","",10,TextField.ANY);
private TextField tfMsg = new TextField("输入通信信息:","",255,TextField.ANY);
private Command send = new Command("发送",Command.SCREEN,1);
private Form form = new Form("在线-ing");
private Display display;
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display = Display.getDisplay(this);
display.setCurrent(form);
form.addCommand(send);
form.append(tfNickName);
form.append(tfMsg);
form.addCommand(send);
form.setCommandListener(this);
//连接到服务器
try {
sc = (SocketConnection)Connector.open("socket://127.0.0.1:9999");
// 接受客户端发送的信息
dis = sc.openDataInputStream();
dos = sc.openDataOutputStream();
new Thread(this).start();
} catch (IOException e) {
e.printStackTrace();
}
}
public void commandAction(Command c, Displayable d) {
if(c == send){
try {
dos.writeUTF(tfNickName.getString()+"说:"+tfMsg.getString());
//动态获取昵称作为标题
form.setTitle(tfNickName.getString()+"在线-ing");
//发送后文本框置于空
tfMsg.setString("");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void run() {
while(ISRUN){
try {
String msg = dis.readUTF();
form.append(msg+"\n");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

我虽横行却不霸道
- 粉丝: 97
- 资源: 1万+
最新资源
- 永磁同步电机无感foc位置估算源码解析:磁链观测器实现与仿真模型,直观理解无感控制位置速度观测器,适用于TI及AT32平台,永磁同步电机无感foc位置估算源码详解:磁链观测器与工程实践,带仿真模型及注
- WeChatPYAPI-机器人开发资源
- CoSec-Kotlin资源
- 基于Matlab Simulink的二自由度车辆动力学模块化建模及其应用场景探究,基于Matlab Simulink的二自由度车辆动力学模块化建模及其应用场景,二自由度车辆动力学模型 软件使用:Mat
- 滞环电流控制下VIENNA整流器的研究与应用,滞环电流控制下的VIENNA整流器工作原理与技术特性解析,基于滞环电流控制的VIENNA整流器 ,基于滞环电流控制; VIENNA整流器; 控制系统;
- 三菱PLC FX5U在四轴定位控制的项目应用:从参数设定到触摸屏程序整合的完整案例模板,三菱FX5U PLC四轴定位控制项目案例:参数设定、回原点操作、定位控制及威纶界面集成,FX5U程序三菱plc程
- 直流电机双闭环调速系统建模与仿真:转速外环电流内环控制结构研究报告,直流电机双闭环调速系统建模与仿真:转速外环电流内环控制结构的研究报告,直流电机双闭环调速系统,以及直流电机双闭环系统建模,采用转速外
- 松下FP-XH系列PLC与昆仑通态触摸屏的多工位装配机项目实践:IEC规范化编程与智能控制应用,松下FP-XH系列PLC与昆仑通态触摸屏在多工位装配机项目中的应用:IEC规范化编程与智能控制实践,松下
- mcm2003-B-wang-zhong-li.pdf
- mcm 2006 judge A.pdf
- 三相模块化多电平变换器(MMC)整流器:控制策略与实现参考指南(2020b版),三相模块化多电平变换器(MMC)整流器模型及控制策略解析与应用参考,模块化多电平变器(MMC),可以 本模型为三相MM
- 2003 B O A Sphere-Packing Model for the Optimal Treatment Plan.pdf
- 1997 B P The Outstanding Discussion Groups Papers.pdf
- 2000 A M Channel Assignment Strategies for Cellular Phone Systems.pdf
- 基于FPGA的以太网TCP数据回环设计:Vivado工程下的网络数据包传输与环路控制实现,基于FPGA的以太网TCP数据回环设计与Vivado工程实践,基于FPGA的以太网TCP数据回环设计 viva
- 2003 B O The Genetic Algorithm-Based Optimization Approach for Gamma Unit Treatment.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


