|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
总结一下客户机
我们的类研讨完了。在我们持续往前会商服务器真个情形之前,让我们回忆一下创立和利用Socket的步骤:
1.用您想毗连的呆板的IP地点和端话柄例化Socket(若有成绩则抛出Exception)。
2.猎取Socket上的流以举行读写。
3.把流包装进BufferedReader/PrintWriter的实例,假如如许做能使事变更复杂的话。
4.对Socket举行读写。
5.封闭翻开的流。
5创立服务器Socket
创立RemoteFileServer类- 1.importjava.io.*;2.importjava.net.*;3.publicclassRemoteFileServer{4.intlistenPort;5.publicRemoteFileServer(intlistenPort){6.this.listenPort=listenPort;7.}8.//同意客户机毗连到服务器,守候客户机哀求9.publicvoidacceptConnections(){10.try{11.ServerSocketserver=newServerSocket(listenPort);12.SocketincomingConnection=null;13.while(true){14.incomingConnection=server.accept();15.handleConnection(incomingConnection);16.}17.}18.catch(BindExceptione){19.System.out.println("Unabletobindtoport"+listenPort);20.}21.catch(IOExceptione){22.System.out.println("UnabletoinstantiateaServerSocketonport:"+listenPort);23.24.}25.}26.//与客户机Socket交互以将客户机所哀求的文件的内容发送到客户机27.publicvoidhandleConnection(SocketincomingConnection){28.try{29.OutputStreamoutputToSocket=incomingConnection.getOutputStream();30.InputStreaminputFromSocket=incomingConnection.getInputStream();31.BufferedReaderstreamReader=newBufferedReader(newInputStreamReader(inputFromSocket));32.FileReaderfileReader=newFileReader(newFile(streamReader.readLine()));33.BufferedReaderbufferedFileReader=newBufferedReader(fileReader);34.PrintWriterstreamWriter=newPrintWriter(incomingConnection.getOutputStream());35.Stringline=null;36.while((line=bufferedFileReader.readLine())!=null){37.streamWriter.println(line);38.}39.fileReader.close();40.streamWriter.close();41.streamReader.close();42.}43.catch(Exceptione){44.System.out.println("Errorhandlingaclient:"+e);45.e.printStackTrace();46.}47.}48.publicstaticvoidmain(Stringargs[]){49.RemoteFileServerserver=newRemoteFileServer(1001);50.server.acceptConnections();51.}52.}
复制代码 <p>
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。 |
|