当前位置: 首页 > news >正文

网站后台用什么做服务器不受限制的浏览器

网站后台用什么做服务器,不受限制的浏览器,北京大学网络服务,东莞效果好的营销型网站建设解析服务器端代码 代码是放在app/lib下的src下的main/java,而与之前放在app/src/main下路径不同 Main函数 Main函数里只放着创建MyServer类的一行 public static void main(String args[]){new MyServer();} MyServer构造函数 1.获取本机IP地址 //获取本机IP地…

解析服务器端代码

代码是放在app/lib下的src下的main/java,而与之前放在app/src/main下路径不同

Main函数

Main函数里只放着创建MyServer类的一行

public static void main(String args[]){new MyServer();}

MyServer构造函数

1.获取本机IP地址

//获取本机IP地址InetAddress addr = InetAddress.getLocalHost();System.out.println("local host:" + addr);

2.创建serverSocket(创建服务器套接字并绑定到一个端口上)

//创建server socketServerSocket serverSocket = new ServerSocket(9999);System.out.println("listen port 9999");

3.accept方法监听等待

//等待客户端连接while(true){System.out.println("waiting client connect");//从连接请求队列中取出一个客户的连接请求,然后创建与客户连接的Socket对象,并将它返回// 如果队列中没有连接请求,accept()方法就会一直等待,直到接收到了连接请求才返回Socket socket = serverSocket.accept();//连接成功,返回socket对象System.out.println("accept client connect" + socket);new Thread(new Service(socket)).start();}

4.监听成功,创建线程进行通信(上一步while循环内最后一行)

创建线程进行通信

  • 线程构造函数内,new数据传输通道
 class Service implements Runnable{private Socket socket;private BufferedReader in = null;public Service(Socket socket){this.socket = socket;try{//InputStreamReader把字节流转化成字符流//BufferedReader用于读取字符流。它继承自Reader类,提供了按行读取文件的功能in = new BufferedReader(new InputStreamReader(socket.getInputStream()));}catch (IOException ex){ex.printStackTrace();}}
  • 重写的run函数内,用一个while来不断读入客户端传来的流(用BufferedReader)
@Overridepublic void run() {System.out.println("wait client message " );try {while ((content = in.readLine()) != null) {//从socket连接读取到bye标识客户端发出断开连接请求if(content.equals("bye")){System.out.println("disconnect from client,close socket");//关闭socket输入输出流socket.shutdownInput();socket.shutdownOutput();socket.close();   //关闭socket连接break;}else {//从socket连接读取到的不是断开连接请求,则像客户端发信息this.sendMessge(socket);}}} catch (Exception ex) {ex.printStackTrace();}}
  • 如何sendMessage:用PrintWriter
public void sendMessge(Socket socket) {PrintWriter pout = null;try{String message = "hello,client!";System.out.println("messge to client:" + message);//OutputStreamWriter:将字符流转换为字节流//BufferedWriter:是缓冲字符输出流//PrintWriter:字符类型的打印输出流pout = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8")),true);//利用输出流输出数据pout.println(message);}catch (IOException ex){ex.printStackTrace();}}

解析客户端代码

1.与服务器的连接

NetConn netConn = new NetConn(handler);

2.与服务器的信息交流

其中的writer在与服务器进行连接会把它进行赋值,它是获得了socket输出流的PrintWriter,把信息给到服务器。(注:接收服务器的信息是在netConn线程的run方法里用了一个while)

new Thread(){@Overridepublic void run(){Log.i(TAG, "send message to server");writer.println("hello,server");}}.start();

NetConn是一个线程

在重写的 run 方法里

1.创建socket并连接对象

//创建socket对象socket = new Socket();//connect,要保证服务器已启动socket.connect(new InetSocketAddress("10.0.2.2",9999),5000);

2.获取socket的输入输出流

//获取socket输入输出流in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"utf-8"));writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8")),true);Log.i(TAG,"connect to server");

3.再建一个线程,接收服务器的数据

//接收服务器返回的数据Thread receiveServerMsg =  new Thread(){@Overridepublic void run(){String fromserver = null;try{while((fromserver = in.readLine())!=null){//发送消息给UI线程Message msg = new Message();msg.what = 1;msg.obj = fromserver;toClientHandler.sendMessage(msg);}}catch (IOException ex){ex.printStackTrace();}}};

感觉hander像个快递员???把在服务器接收数据线程里,接收到的东西,打包成message,通过sendMessage函数,发给UI线程(就是那些Activity),进行相应操作。

以下是MainActivity内的Handler

handler = new Handler(Looper.getMainLooper()){//当数据处理子线程更新数据后发送消息给UI线程,UI线程更新UI@Overridepublic void handleMessage(Message msg){if(msg.what == 1){txt.setText(msg.obj.toString());}}};

http://www.zhongyajixie.com/news/45256.html

相关文章:

  • 绍兴本地网站建设软文范例100例
  • 江阳建设集团网站企业网站优化关键词
  • 网站开发定制企业安卓优化大师2023
  • html标签属性武汉网站建设方案优化
  • 哔哩哔哩网页版下载seo排名哪家正规
  • 福州专业网站建设网络公司广州seo优化外包服务
  • 营销型外贸网站定制全网推广平台
  • 新化网站建设优化大师app
  • 最专业的网站建设价格推广优化排名
  • 申请域网站重庆电子商务seo
  • 电商网站后台报价线上营销推广方法
  • 电商购物网站建设百度一下你就知道手机版官网
  • 东莞公司注册流程企业如何进行搜索引擎优化
  • 制作ppt的软件手机版免费企业seo网络营销
  • wordpress系统优化seo对网站优化
  • 炫酷的企业网站网站关键词全国各地的排名情况
  • 2018春节放假安排 网站建设青岛网站推广企业
  • 酒店网站搜索引擎优化方案百度竞价培训班
  • html遇到的问题及解决方法郑州seo顾问热狗hotdoger
  • 房子已交房 建设局网站查不到网络公司网络营销推广方案
  • 新疆建设厅官方网站文件网络营销题库及答案2020
  • 域名指向其他网站如何制作自己的公司网站
  • 接单网app下载云优化seo软件
  • 可信网站认证多少钱产品免费推广网站有哪些
  • 全国网站建设哪家好seo公司
  • 企业网站的栏目设置搜索引擎营销案例
  • 珠海响应式网站建设公司怎样淘宝seo排名优化
  • 深圳知名网站建设公司软件开发流程
  • 有没有可以免费制作ppt的app茂名seo快速排名外包
  • html5网站开发企业微信营销系统