手机APP软件,属于C/S架构么?
应该是属于C/S架构的。
C/S架构是客户端/服务器架构,B/S架构为浏览器/服务器架构,一般来说,前者的数据流量会比后者要小,但维护比较麻烦。
举个例子:以买火车票为例,用12306客户端为前者,直接上网页买就是后者。
综上所述,目前的APP应用,应该是C/S架构的。
常见的软件架构有B/S架构和C/S架构,我想问问,我们常用的哪些软...
B是浏览器,S是服务端,C是客户端。
简单讲B/S架构用户侧是使用浏览器获得服务;C/S架构用户侧需要先安装相应的软件,如手机上的各种APP、电脑上的qq等都是C/S架构。
据说,B/S架构是未来趋势,因为通用性强啊,不用像C/S架构还得windows、安卓、IOS各开发一款软件。
测试C/S结构的软件的测试工具有哪些?要求是免费的!
抓包工具,数据库工具QC,甚至QQ都可以作为测试工具测试工具:既是工具就是测试中能使用到的软件,日常软件比如QC就可以用来给给BUG截图,自己也可以写一些数据库脚本、数据库生成数据工具和抓包工具数据网络路由工具,数据提交发送工具等等,工具是死的人是活的,具体看你的测试思想和软件应用技巧,测试不一定非要会用很多工具,就跟开发不用开发工具工记事本照样编写软件,你要利用当前有的熟悉的资源在规定的时间内把软件测试成客户能接受的就算完成任务了。
自学C/S架构的软件开发需要具备哪些知识
最好熟悉几个主流数据库操作,像我就是oracle和mssql,对数据库这块一定要好好学哇,sql语句很重要的;掌握java GUI设计掌握GUI事件处理掌握AWT常用组件和视觉控制掌握AWT绘图掌握掌握Swing组件c/s架构的话还要多熟悉下多线程操作,io流,然后socket通信机制,网络编程;要依次循环并进学习的;学习过程中自己体会下c/s架构的思想,还有常见设计模式,像Singleton,Factory,Proxy...试着用面向接口的方式编程,对你的系统架构思想会有一定帮助的。
那样子,个人建议去javaeye论坛多去看下别人对面向接口编程,接口,抽象类的详细体会,呵呵``可能会找到引发你共鸣的思想哦``推荐书的话,还真的没有在c/s开发的时候看过多少书,我去问下圈子里的朋友看他们有没,到时候补充给你。
最后,作为一个java programmer告诉你,其实,java开发c/s跟其他语言相比优势并不突出,web开发的话就显得游刃有余了,呵呵``嗯,希望对你能有所帮助``祝你好运,在代码的世界里,找到自己``现在主流趋势应该是基于B/S架构的C/S web application,要有C/S架构的用户体验,加上B/S系统的方便.对界面很感兴趣的话,可以试下js啊,呵呵,你看ext就是很强大的js用户界面了``
C/S结构指的是
c/s是客户机(client)/服务器(server),b/s是浏览器(browser)/服务器。
c/s之间通过任意的协议通信,一般要求有特定的客户端。
比如QQ就是c/s模式,你的桌面上的QQ就是腾讯公司的特定的客户端,而服务器就是腾讯的服务器。
再比如你看的网络电视也是如此,比如你的桌面上的pplive、Tvcoo等,这些软件都是c/s模式的,他们要求在用户有特定的客户端。
而B/S模式是靠应用层的http协议进行通信的(当然也要靠底层的好多协议支持),一般不需要特定的客户端,而是需要有统一规范的客户端,那就是你的浏览器!Web页就是B/S 模式,也就是说咱们说的网站就是B/S模式。
什么是C/S结构
C/S结构编辑即Client/Server (客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。
客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。
开发比较容易,操作简便,但应用程序的升级和客户端程序的维护较为困难。
现在用C++开发C/S结构的软件什么框架最好
服务端程序:import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.util.Enumeration;import java.util.Hashtable;import java.util.Iterator; import java.util.Set; public class NioServer { public static final int SERVERPORT=5555; public static final String[] USERNAME={"1","2","3","4","5","jack","tom"}; public static final String PASSWORD="1"; public static final String ISACK="ACK"; public static final String ISNAK="NAK!"; // Selector selector;//选择器 // SelectionKey key;//key。
一个key代表一个Selector 在NIO通道上的注册,类似主键; // //取得这个Key后就可以对Selector在通道上进行操作 private ByteBuffer echoBuffer = ByteBuffer.allocate( 1024 );// 通道数据缓冲区 public NioServer(){ } public static void main(String[] args) throws IOException { NioServer ns=new NioServer(); ns.BuildNioServer(); } public void BuildNioServer() throws IOException{ ///////////////////////////////////////////////////////// ///////先对服务端的ServerSocket进行注册,注册到Selector //// ///////////////////////////////////////////////////////// ServerSocketChannel ssc = ServerSocketChannel.open();//新建NIO通道 ssc.configureBlocking( false );//使通道为非阻塞 ServerSocket ss = ssc.socket();//创建基于NIO通道的socket连接 //新建socket通道的端口 ss.bind(new InetSocketAddress("127.0.0.1",SERVERPORT)); Selector selector=Selector.open();//获取一个选择器 //将NIO通道选绑定到择器,当然绑定后分配的主键为skey //SelectionKey skey = ssc.register( selector, SelectionKey.OP_ACCEPT ); //////////////////////////////////////////////////////////////////// //// 接收客户端的连接Socket,并将此Socket也接连注册到Selector //// /////////////////////////////////////////////////////////////////// while(true){ int num = selector.select();//获取通道内是否有选择器的关心事件 if(num 0){ ;} echoBuffer.flip(); byte [] content = new byte[echoBuffer.limit()]; echoBuffer.get(content); String result=new String(content); doPost(result,sc); echoBuffer.clear(); it.remove(); } }catch(Exception e){} } } } Hashtable table=new Hashtable();public void doPost(String str,SocketChannel sc){ boolean isok=false; int index=str.indexOf('|'); if(index>=0){ //index>0 有"|"符号,代表登陆,没有表示普通聊天 String name=str.substring(0,index); String pswd=str.substring(index+1); if(pswd==null){pswd="";} if(name!=null){ if(pswd.equals(PASSWORD) ){ isok=false; for(int i=0;i0){ hintStr.setText("正在验证客户端,请稍候..."); start(); } }else if(e.getSource()==clear){//清屏 text.setText(""); }else if(e.getSource()==send){//发送 String msg=this.jtf.getText(); if(msg!=null){ if(msg.trim().length()>0){ msg=" "+name+" said:"+msg+"\r\n"; sendMessage(msg); jtf.setText(""); } } } } OutputStream os; Socket s; InputStream is; public void start(){ //建立联网线程 new Thread(new Runnable(){ public void run() { try { s=new Socket("127.0.0.1",5555); //写 os=s.getOutputStream(); os.write(name.getBytes()); os.write('|');//用户名与密码用"|"分隔 os.write(pswd.getBytes()); os.flush(); //读内容 Thread.sleep(1000); is=s.getInputStream(); int len=is.available(); System.out.println("len:"+len); byte[] bytes=new byte[len]; is.read(bytes); String resut=new String(bytes); System.out.println("resut:"+resut); if(resut.equals("ACK")){ hintStr.setText("验证成功,欢迎光临!"); //TODO 这里通过返回结果处理 handleLoginResult(); }else{ paswrd.setText(null); ...
转载请注明出处51数据库 » 属于c s结构的软件