求教:
1.什么情况下才必须用java Socket网络编程?
2.在实际开发中,java Socket网络编程的客户端代码jar包和服务器端代码jar包,需要分别相应地部署到客户端机器和服务器端机器上吗?
3.如果问题2是肯定的,那么客户端代码和服务端代码如何区别开来打jar包?

解决方案 »

  1.   

    大部份的网络通信都是socket进行的,常见的有FTP,HTTP等等。
    服务器和客户端大部份代码是类似的,一般都封装在一起,再扩展出服务端和客户端,只有一个JAR。
    比较常用的socket框架:mina、xSocket.
      

  2.   

    1、socket编程(网络编程)   顾名思义:需要通过网络传输的。网络协议有TCP、UDP这是网络分层后我们所知道的网络协议。
    2、是的Server端代码放到服务器,Client端放到客户端。  当然Client端代码也可以放服务器一台机器上,那样就没有实现他的意义所在拉。
    3、Server端代码和Client端代码分开来写,来打不同的jar包。
      

  3.   

    如果客户端代码和服务端代码写在一起了,可以打成一个jar包吗?
    部署项目时,客户端代码和服务端可以用这同一个jar包吗?
      

  4.   

    1,JAVA 的网络编程 都是基于socket的 HTTP的底层实现其实也是socket 当然你要看场合看具体要使用哪个socket实现,有TCP,UDP之分
    2 不存在服务器和客户端一定要使用或者两者同时使用什么jar包,当然有现成的jar可以用的话也是可以的,服务器和客户端的关联是通关协议来的,实现是分开的.
      

  5.   

    1.什么情况下才必须用java Socket网络编程?
    一般你要自己写应用层的协议时,用java socket编程比较好。一般现在的服务器和客户端的通信开发都是基于WEB,也就是基于TCP协议的HTTP协议。用这个协议你不需要关心协议的具体组包,解包啊之类的,只关心你自己的业务数据就可以了。如果HTTP协议不够用的话,就直接使用基于TCP协议之上自定义一个协议通信,这个时候就要用JAVA socket编程了。比如游戏服务器端编程,一般都是自定义协议。2.在实际开发中,java Socket网络编程的客户端代码jar包和服务器端代码jar包,需要分别相应地部署到客户端机器和服务器端机器上吗?
    部署在同一台机器也是可以的,不同的机器也是可以的。3.如果问题2是肯定的,那么客户端代码和服务端代码如何区别开来打jar包?
    如果客户端代码和服务端代码写在一起了,可以打成一个jar包吗?
    部署项目时,客户端代码和服务端可以用这同一个jar包吗?可以打成一个JAR包啊,比如两个或者两个以上的服务器互相通信,既可以把服务器看成服务端,也可以把服务器看成是客户端。
    也可以打成不同的JAR,比如腾讯的QQ,就有腾讯QQ客户端和服务端关键看你想做成什么样的项目而定
      

  6.   

    程序是机房做监控服务器和其他程序使用的,就是在一台服务器上部署项目监控其他电脑的内存使用情况,以及日志报错情况,前任写好的,没有交接就走了,现在要做后续开发
    代码是用TDP和UDP写好的,我看客户端代码和服务端代码都写在一起了,所以我推测服务端和客户端部署的应该是完全一样的东西吧,但又没有做过SOCKET编程,所以向大家请教!
      

  7.   

    哦。服务端的代码和客户端的代码是可以打在一个包里的,问题的关键是,你要找到不同的入口类。
    每个程序都会有入口函数的,你要找到了就可以了。Java中的Socket编程,指的就是TCP协议编程,而UDP协议的编程,没有用到Socket类。
    只要涉及的两台主机之间的通信,那么,基本上都会涉及到TCP/UDP协议的编程,因为这两个协议应用很广泛,我们常用的一些通信协议也是建立在这两个协议的基础上的。比如HTTP协议、FTP协议、还有收发email的协议等等。
      

  8.   

    客户端和服务端程序启动的接口类好像也只有一个共同的Program.java
    这个项目是一个纯java项目,还有一个功能与之很类似的web项目跟它放在一起共同运行,都不知道这两个项目是如何相互关联的?
      

  9.   


    首先,C/S架构的程序,都会有2个入口。至于“接口类”我就不知道是什么意思了。
    其次,楼主的两个项目,到底有什么关联关系,这个不应该问我们的,应该去问问你们的项目经理、技术经理之类的人。如果非要猜的话,可能纯Java的是客户端程序,那个Web项目可能是服务端程序吧。
      

  10.   

    楼主像网络应用正常都用到SOCKET,访问数据库,点开网页这些都是SOCKET变成,然后再分socket客户端和服务端,正常的就是C/S框架了,现在好多通讯是客户端和服务端是相互的。jar包这东西你不要想太多,你把socket当成nio中的chanel 需要通讯的数据当作ByteBuffer