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

关于网站建设的合同国家中小学网络云平台

关于网站建设的合同,国家中小学网络云平台,电商数据统计网站,网站设计源代码Android的网络应用#xff1a;简单的C/S聊天室#xff0c;供大家参考#xff0c;具体内容如下服务器端#xff1a;提供两个类创建ServerSocket监听的主类:MyServer.java负责处理每个Socket通信的线程类:ServerThread.java客户端#xff1a;是一个Android应用程序Multi…Android的网络应用简单的C/S聊天室供大家参考具体内容如下服务器端提供两个类创建ServerSocket监听的主类:MyServer.java负责处理每个Socket通信的线程类:ServerThread.java客户端是一个Android应用程序MultiThreadClient界面提供两个文本框和一个发送按钮Activity通过Handler来处理来自子线程的消息客户端需要一个子线程负责读取来自网络的数据项目效果服务器端代码MyServer.javaimport java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;public class MyServer{//定义保存所有Socket的ArrayListpublic static ArrayList socketList new ArrayList();public static void main(String[] args)throws IOException{ServerSocket ss new ServerSocket(8000);while(true){//此行代码会阻塞将一直等待别人的连接Socket s ss.accept();socketList.add(s);//每当客户端连接后启动一条ServerThread线程为该客户端服务new Thread(new ServerThread(s)).start();}ServerThrad.javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.Socket;//负责处理每个线程通信的线程类public class ServerThread implements Runnable{//定义当前线程所处理的SocketSocket s null;//该线程所处理的Socket所对应的输入流BufferedReader br null;public ServerThread(Socket s)throws IOException{this.s s;//初始化该Socket对应的输入流br new BufferedReader(new InputStreamReader(s.getInputStream() , utf-8)); //②}public void run(){try{String content null;//采用循环不断从Socket中读取客户端发送过来的数据while ((content readFromClient()) ! null){//遍历socketList中的每个Socket//将读到的内容向每个Socket发送一次for (Socket s : MyServer.socketList){OutputStream os s.getOutputStream();os.write((content \n).getBytes(utf-8));}}}catch (IOException e){e.printStackTrace();}}//定义读取客户端数据的方法private String readFromClient(){try{return br.readLine();}//如果捕捉到异常表明该Socket对应的客户端已经关闭catch (IOException e){//删除该Socket。MyServer.socketList.remove(s); //①}return null;}}客户端代码布局文件main.xmlandroid:orientationverticalandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:orientationhorizontalandroid:layout_widthfill_parentandroid:layout_heightwrap_contentandroid:idid/inputandroid:layout_width240pxandroid:layout_heightwrap_content/android:idid/sendandroid:layout_widthfill_parentandroid:layout_heightwrap_contentandroid:paddingLeft8pxandroid:textstring/send/android:idid/showandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:gravitytopandroid:editablefalseandroid:cursorVisiblefalse/Activity文件MultiThreadClient.javapackage org.wwj.net;import java.io.OutputStream;import java.net.Socket;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MultiThreadClient extends Activity{// 定义界面上的两个文本框EditText input, show;// 定义界面上的一个按钮Button send;OutputStream os;Handler handler;Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);input (EditText) findViewById(R.id.input);send (Button) findViewById(R.id.send);show (EditText) findViewById(R.id.show);Socket s;handler new Handler(){Overridepublic void handleMessage(Message msg){// 如果消息来自于子线程if (msg.what 0x123){// 将读取的内容追加显示在文本框中show.append(\n msg.obj.toString());}}};try{s new Socket(183.30.181.228 , 8000);// 客户端启动ClientThread线程不断读取来自服务器的数据new Thread(new ClientThread(s, handler)).start(); // ①os s.getOutputStream();}catch (Exception e){e.printStackTrace();}send.setOnClickListener(new OnClickListener(){Overridepublic void onClick(View v){try{// 将用户在文本框内输入的内容写入网络os.write((input.getText().toString() \r\n).getBytes(utf-8));// 清空input文本框input.setText();}catch (Exception e){e.printStackTrace();}}});}}子线程类ClientThread.javapackage org.wwj.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import android.os.Handler;import android.os.Message;public class ClientThread implements Runnable{//该线程负责处理的Socketprivate Socket s;private Handler handler;//该线程所处理的Socket所对应的输入流BufferedReader br null;public ClientThread(Socket s , Handler handler)throws IOException{this.s s;this.handler handler;br new BufferedReader(new InputStreamReader(s.getInputStream()));}public void run(){try{String content null;//不断读取Socket输入流中的内容。while ((content br.readLine()) ! null){// 每当读到来自服务器的数据之后发送消息通知程序界面显示该数据Message msg new Message();msg.what 0x123;msg.obj content;handler.sendMessage(msg);}}catch (Exception e){e.printStackTrace();}}}以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持找一找教程网。
http://www.ihoyoo.com/news/51361.html

相关文章:

  • 上杭县城乡规划建设局网站沈阳.....网站设计
  • 外贸电商网站建设六安网站建设定制
  • h5 技术做健康类网站域名购买服务商
  • 网站开发所有工具多大wordpress提交与筛选
  • mvc架构购物网站开发重庆建设网站多久时间
  • 罗岗网站建设哪家好一流的常州网站建设
  • 网站建设首页怎么弄中国南昌企业网站制作
  • 宁德市住房和城乡建设局新网站个人记账网站开发时长
  • 武山建设局网站百度免费广告发布平台
  • 自治区住房和城乡建设部网站站点
  • 专业的seo网站优化公司免备案的网站
  • 做视频点播网站要多少带宽ui网站建设
  • 各大知名网站开发语言怎么样才能自己做网站打广告
  • 做网站的出路刷赞网站推广软件
  • 网站群建设方案.doc自建团体电子商务网站建设成本
  • php网站开发文章管理系统做网站如何下载别人网站图片
  • 网站开发团队人员构成中国各大网站开发语言
  • 做网站谈单青岛网站制作公司哪家正规
  • 有没有免费建网站ps制作素材图片
  • 网站设计布局的重要性wordpress 文章索引插件
  • 营口旅游网站建设页面调用不了wordpress
  • 顺德公司网站制作什么专业学做网站
  • 网站建设费用包括哪些内容买个购物网站
  • 优质的网站建设公司网站空间站
  • 关键词排名查询网站ip138查询网站网址域名ip
  • 福建百益建设集团有限公司网站邢台网站优化建设
  • 公司微信网站开发做网站图片
  • 上海专业网站建设公司站霸网络做正版电子书下载网站
  • 网站倒计时代码怎么做垂直自营网站
  • 网页制作素材十个跳转页面seo在网站制作