资源简介
这里实现一个跨平台的socket通讯,Android手机作为客户端向Ubuntu的QT平台上的服务端发送一个字符命令,由于是只发送一个字符,这里我尽可能简化socket通讯的过程以供后人参考。解决了跨平台的socket传输字符编码转换的问题。我的文章地址:http://blog.csdn.net/u013453604/article/details/47733923
代码片段和文件信息
//package com.defonds.socket.begin;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static final int PORT = 60000;//监听的端口号
public static void main(String[] args) {
System.out.println(“服务器启动...\n“);
Server server = new Server();
server.init();
}
public void init() {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
while (true) {
// 一旦有堵塞 则表示服务器与客户端获得了连接
Socket client = serverSocket.accept();
// 处理这次连接
new HandlerThread(client);
}
} catch (Exception e) {
System.out.println(“服务器异常: “ + e.getMessage());
}
}
private class HandlerThread implements Runnable {
private Socket socket;
public HandlerThread(Socket client) {
socket = client;
new Thread(this).start();
}
public void run() {
try {
// 读取客户端数据
DataInputStream input = new DataInputStream(socket.getInputStream());
String clientInputStr = input.readUTF();//这里要注意和客户端输出流的写方法对应否则会抛 EOFException
// 处理客户端数据
System.out.println(“客户端发过来的内容:“ + clientInputStr);
// 向客户端回复信息
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
//System.out.print(“请输入:\t“);
// 发送键盘输入的一行
//String s = new BufferedReader(new InputStreamReader(System.in)).readLine();
//out.writeUTF(s);
out.close();
input.close();
} catch (Exception e) {
System.out.println(“服务器 run 异常: “ + e.getMessage());
} finally {
if (socket != null) {
try {
socket.close();
} catch (Exception e) {
socket = null;
System.out.println(“服务端 finally 异常:“ + e.getMessage());
}
}
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-08-17 23:39 Android与QT实现socket通信\
文件 2737 2015-08-16 21:02 Android与QT实现socket通信\Server.java
目录 0 2015-08-17 23:37 Android与QT实现socket通信\test1\
文件 213 2015-08-17 22:04 Android与QT实现socket通信\test1\main.cpp
文件 1649 2015-08-17 22:32 Android与QT实现socket通信\test1\mainwindow.cpp
文件 531 2015-08-17 20:52 Android与QT实现socket通信\test1\mainwindow.h
文件 1243 2015-08-17 20:33 Android与QT实现socket通信\test1\mainwindow.ui
文件 380 2015-08-17 20:26 Android与QT实现socket通信\test1\test1.pro
文件 18375 2015-08-17 21:39 Android与QT实现socket通信\test1\test1.pro.user
文件 52 2015-08-17 23:38 Android与QT实现socket通信\test1\说明.txt
目录 0 2015-08-17 23:38 Android与QT实现socket通信\Test_socket\
文件 475 2015-08-14 16:31 Android与QT实现socket通信\Test_socket\.classpath
文件 847 2015-08-14 16:31 Android与QT实现socket通信\Test_socket\.project
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\.settings\
文件 177 2015-08-14 16:31 Android与QT实现socket通信\Test_socket\.settings\org.eclipse.jdt.core.prefs
文件 934 2015-08-16 16:43 Android与QT实现socket通信\Test_socket\AndroidManifest.xm
目录 0 2015-08-14 16:31 Android与QT实现socket通信\Test_socket\assets\
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\bin\
文件 934 2015-08-16 22:04 Android与QT实现socket通信\Test_socket\bin\AndroidManifest.xm
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\bin\classes\
文件 1428276 2015-08-17 20:35 Android与QT实现socket通信\Test_socket\bin\classes.dex
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\bin\classes\android\
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\bin\classes\android\support\
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\
目录 0 2015-08-17 23:36 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\
文件 629 2015-08-17 17:57 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\R$anim.class
文件 5136 2015-08-17 17:57 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\R$attr.class
文件 763 2015-08-17 17:57 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\R$bool.class
文件 594 2015-08-17 17:57 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\R$color.class
文件 1530 2015-08-17 17:57 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\R$dimen.class
文件 5191 2015-08-17 17:57 Android与QT实现socket通信\Test_socket\bin\classes\android\support\v7\appcompat\R$drawable.class
............此处省略103个文件信息
相关资源
- android 按住说话 语音录制、播放功能
- Android时间轴(Timeline)效果的实现(
- android手机的室内wifi定位的设计与实现
- android网上预约挂号服务端和客户端毕
- Exploring SE for Android 无水印书签修正版
- Kotlin Android通用框架设计与完整电商
- Android电子词典_大作业版
- 一个android 文本比对app的实现代码
- 10个实用 android app 源代码
- Android 和php交互上传图片文件功能
- Android 自动接听电话
- android+javaWeb(ssm)学生管理系统(2
- Tiny4412 Android硬件开发指南 (含丰富源
- Android上拉下拉XListView及向左侧滑删除
- Android系统中基于FTS的全文检索器
- Android webview QQ一键登录并向后台返回
- android手机客户端上传文件到客户端(
- 基于Android的网上点餐系统
- Android计算器和科学计算器
- Android游戏源码黑白棋奥赛罗 完整AP
- Android项目源码利用加速度传感器实现
- Android应用源码仓库管理系统毕业设计
- Android中国象棋源码
- 基于Android的图书管理系统
- android图片选择包含图片查看删除选择
- 使用TensorFlow Lite在Android手机上实现图
- android仿照qq客户端及服务端源码
- android预订座位,控制单片机
- Android 导出数据库到Excel表格功能
- android天气预报.rar.rar
评论
共有 条评论