我的第一个项目,二维码手机排队系统
2014-04-24 18:04
288 查看
其中遇到的困难:
1、网上的SOCKET代码大多数是错的,正确的如下
myserver
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(10000);
while (true) {
Socket socket = server.accept();
invoke(socket);
}
}
private static void invoke(final Socket client) throws IOException {
new Thread(new Runnable() {
public void run() {
BufferedReader in = null;
PrintWriter out = null;
try {
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out = new PrintWriter(client.getOutputStream());
while (true) {
String msg = in.readLine();
System.out.println(msg);
out.println("Server received " + msg);
out.flush();
if (msg.equals("bye")) {
break;
}
}
} catch(IOException ex) {
ex.printStackTrace();
} finally {
try {
in.close();
} catch (Exception e) {}
try {
out.close();
} catch (Exception e) {}
try {
client.close();
} catch (Exception e) {}
}
}
}).start();
}
}
myclient:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class MyClient {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 10000);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String msg = reader.readLine();
out.println(msg);
out.flush();
if (msg.equals("bye")) {
break;
}
System.out.println(in.readLine());
}
socket.close();
}
}
2、在ANDIORD
在4.0以上,需要使用多线程去用SOCKET,单线程不行,访问网络的行为都需要,因为访问网诺需要时间,主线程为了不影响用户体验
而且需要开启服务
目前遇到问题,第一次打开页面不能获取SOCKET数据,但程序确实执行到那个步骤,第二次就可以,这个问题还是没法解决
3、网上二维码代码差别很大
http://down.51cto.com/data/1145540
1、网上的SOCKET代码大多数是错的,正确的如下
myserver
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(10000);
while (true) {
Socket socket = server.accept();
invoke(socket);
}
}
private static void invoke(final Socket client) throws IOException {
new Thread(new Runnable() {
public void run() {
BufferedReader in = null;
PrintWriter out = null;
try {
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out = new PrintWriter(client.getOutputStream());
while (true) {
String msg = in.readLine();
System.out.println(msg);
out.println("Server received " + msg);
out.flush();
if (msg.equals("bye")) {
break;
}
}
} catch(IOException ex) {
ex.printStackTrace();
} finally {
try {
in.close();
} catch (Exception e) {}
try {
out.close();
} catch (Exception e) {}
try {
client.close();
} catch (Exception e) {}
}
}
}).start();
}
}
myclient:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class MyClient {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 10000);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String msg = reader.readLine();
out.println(msg);
out.flush();
if (msg.equals("bye")) {
break;
}
System.out.println(in.readLine());
}
socket.close();
}
}
2、在ANDIORD
在4.0以上,需要使用多线程去用SOCKET,单线程不行,访问网络的行为都需要,因为访问网诺需要时间,主线程为了不影响用户体验
而且需要开启服务
目前遇到问题,第一次打开页面不能获取SOCKET数据,但程序确实执行到那个步骤,第二次就可以,这个问题还是没法解决
3、网上二维码代码差别很大
http://down.51cto.com/data/1145540
相关文章推荐
- 【P000-000】第一个项目,暂定为android手机上的简单证券交易费计算系统(附1.0源码)
- 【P000-000】第一个项目,暂定为android手机上的简单证券交易费计算系统(源码列表统一在此更新)
- 项目ITP(二) 二维码 拿起你的手机装一装,扫一扫 【每日一搏】
- 《基于C/S模式的android手机与PC机通信系统的开发》项目
- 扫描二维码自动识别手机系统(Android/IOS)
- 项目ITP(二) 二维码 拿起你的手机装一装,扫一扫 【每日一搏】
- 扫描二维码自动识别手机系统(Android/IOS)
- 扫描二维码自动识别手机系统(Android/IOS)
- python 小项目--手机销售系统
- Android项目实战--手机卫士22--卸载和分享功能的完成以及用户及系统应用的切换
- 项目回顾之二:PhoneProtector 基于Android平台的手机隐私保护系统
- 扫描二维码自动识别手机系统(Android/IOS)
- 12 月份新增开源项目:手机都可以变个人监控系统了?
- ios项目有关的系统 uuid,系统版本号,手机型号,获取当前时间……
- (第一个jdbc入门项目)java实现的登录系统(mysql实现的)
- 第一个项目:通信软件系统
- 手机直播系统,仿映客直播程序项目需求
- 扫描二维码自动识别手机系统(Android/IOS)跳转不同页面
- 烟草订购项目总结——第一个比较系统的iPhone开发项目