android 无线点餐系统,源码
android 无线点餐系统,源码,能直接运行。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-26 22:21 无线点餐系统
目录 0 2014-03-26 22:21 无线点餐系统server
文件 299 2013-08-08 19:23 无线点餐系统server.classpath
文件 382 2013-08-08 19:23 无线点餐系统server.project
目录 0 2014-03-26 22:21 无线点餐系统server.settings
文件 629 2013-08-08 19:23 无线点餐系统server.settingsorg.eclipse.jdt.core.prefs
目录 0 2014-03-26 22:21 无线点餐系统serverin
文件 5171 2013-08-15 22:45 无线点餐系统serverinclientServer.class
目录 0 2014-03-26 22:21 无线点餐系统serverincom
目录 0 2014-03-26 22:21 无线点餐系统serverincomvista
目录 0 2014-03-26 22:21 无线点餐系统serverincomvistaServer
文件 817 2013-08-15 22:45 无线点餐系统serverincomvistaServerSelectorServer$HandleClient.class
文件 4746 2013-08-15 22:45 无线点餐系统serverincomvistaServerSelectorServer.class
目录 0 2014-03-26 22:21 无线点餐系统serversrc
文件 4388 2013-08-11 22:34 无线点餐系统serversrcclientServer.java
目录 0 2014-03-26 22:21 无线点餐系统serversrccom
目录 0 2014-03-26 22:21 无线点餐系统serversrccomvista
目录 0 2014-03-26 22:21 无线点餐系统serversrccomvistaServer
文件 6573 2013-08-09 09:23 无线点餐系统serversrccomvistaServerSelectorServer.java
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Client
文件 380 2013-05-05 22:50 无线点餐系统WirelessOrder_Client.classpath
文件 856 2013-05-05 22:40 无线点餐系统WirelessOrder_Client.project
文件 1270 2013-05-05 22:40 无线点餐系统WirelessOrder_ClientAndroidManifest.xml
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientassets
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientin
文件 1270 2013-08-05 23:12 无线点餐系统WirelessOrder_ClientinAndroidManifest.xml
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclasses
文件 48340 2013-05-05 23:02 无线点餐系统WirelessOrder_Clientinclasses.dex
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclassescom
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclassescomamaker
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclassescomamakerprovider
............此处省略153个文件信息
import java.io.FileInputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
public class clientServer {
public static final int PORT = 12315;
protected Selector selector;
protected Charset charset = Charset.forName(“UTF-8“);
protected CharsetEncoder charsetEncoder = charset.newEncoder();
protected CharsetDecoder charsetDecoder = charset.newDecoder();
int clientCount;
public clientServer() throws Exception {
selector = Selector.open();
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.socket().bind(new InetSocketAddress(PORT)); // port
serverSocketChannel.configureBlocking(false);
serverSocketChannel.register(selector SelectionKey.OP_ACCEPT);// register
p(“Server localhost:“ + PORT + “ started. waiting for clients. “);
while (true) {
int num = selector.select();//获取通道内是否有选择器的关心事件
if (num < 1) {//如果小于1停止此次循环进行下一个循环
continue;
}
Set selectedKeys = selector.selectedKeys();//获取通道内关心事件的集合
Iterator iterator = selectedKeys.iterator();//使用迭代放式,遍历事件集合
while (iterator.hasNext()) {
SelectionKey key = (SelectionKey) iterator.next();
iterator.remove();//移走此次事件
// 并在当前线程内处理。(为了高效,一般会在另一个线程中处理此消息,例如使用线程池等)
handleSelectionKey(key);
}
}
}
public void handleSelectionKey(SelectionKey selectionKey) throws Exception {
SocketChannel socketChannel;
if (selectionKey.isAcceptable()) { // 判断是否有新的客户端进来
clientCount++;
socketChannel = ((ServerSocketChannel) selectionKey.channel()).accept(); //得到与客户端通道的套接字
socketChannel.configureBlocking(false);
// 立即注册一个 OP_READ 的SelectionKey 接收客户端的消息
SelectionKey key = socketChannel.register(selector SelectionKey.OP_READByteBuffer.allocate(1024));
//key.attach(““);
key.attach(“第 “ + clientCount + “ 个客户端========================================= “);
//key.interestOps(SelectionKey.OP_ACCEPT);
System.out.println(“有新客户端连接“+socketChannel);
}
if (selectionKey.isReadable()) {
// 有消息进来 ,有数据可读
socketChannel = (SocketChannel) selectionKey.channel();
ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
try {
int len = socketChannel.read(byteBuffer);
if (len>0) {
byteBuffer.flip();
String msg = charsetDecoder.decode(byteBuffer).toString();
System.out.println(“接收数据: “+msg);
socketChannel.write(charsetEncoder.encode(CharBuffer.wrap(msg + “
“)));
System.out.println(“返回数据: “+msg);
selectionKey.interes
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-26 22:21 无线点餐系统
目录 0 2014-03-26 22:21 无线点餐系统server
文件 299 2013-08-08 19:23 无线点餐系统server.classpath
文件 382 2013-08-08 19:23 无线点餐系统server.project
目录 0 2014-03-26 22:21 无线点餐系统server.settings
文件 629 2013-08-08 19:23 无线点餐系统server.settingsorg.eclipse.jdt.core.prefs
目录 0 2014-03-26 22:21 无线点餐系统serverin
文件 5171 2013-08-15 22:45 无线点餐系统serverinclientServer.class
目录 0 2014-03-26 22:21 无线点餐系统serverincom
目录 0 2014-03-26 22:21 无线点餐系统serverincomvista
目录 0 2014-03-26 22:21 无线点餐系统serverincomvistaServer
文件 817 2013-08-15 22:45 无线点餐系统serverincomvistaServerSelectorServer$HandleClient.class
文件 4746 2013-08-15 22:45 无线点餐系统serverincomvistaServerSelectorServer.class
目录 0 2014-03-26 22:21 无线点餐系统serversrc
文件 4388 2013-08-11 22:34 无线点餐系统serversrcclientServer.java
目录 0 2014-03-26 22:21 无线点餐系统serversrccom
目录 0 2014-03-26 22:21 无线点餐系统serversrccomvista
目录 0 2014-03-26 22:21 无线点餐系统serversrccomvistaServer
文件 6573 2013-08-09 09:23 无线点餐系统serversrccomvistaServerSelectorServer.java
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Client
文件 380 2013-05-05 22:50 无线点餐系统WirelessOrder_Client.classpath
文件 856 2013-05-05 22:40 无线点餐系统WirelessOrder_Client.project
文件 1270 2013-05-05 22:40 无线点餐系统WirelessOrder_ClientAndroidManifest.xm
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientassets
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientin
文件 1270 2013-08-05 23:12 无线点餐系统WirelessOrder_ClientinAndroidManifest.xm
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclasses
文件 48340 2013-05-05 23:02 无线点餐系统WirelessOrder_Clientinclasses.dex
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclassescom
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclassescomamaker
目录 0 2014-03-26 22:21 无线点餐系统WirelessOrder_Clientinclassescomamakerprovider
............此处省略153个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)