Java_Socket编程示例整理.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Socket编程示例整理 基本概念 所谓网络编程,就是让计算机之间进行相互通讯数据。 Java语言提供了一些相对简单的Api来完成这些通信工作,而Socket就是其中之一,它存在于包中。 网络编程的基本模型就是客户端到服务器模型。简单的说就是两个进程之间相互通,然后其中一个必须提供一个固定的位置,而另一个则只需要知道这个固定的位置,并去建立两者之间的联系,然后完成数据的通讯就可以了。这里提供固定位置的通常称为服务器,而建立联系的通常叫做客户端。 ServerSocket server=new ServerSocket(6789);在Java中,服务端的建立采用的是ServerSocket类,一个简单的使用示例如下: ServerSocket server=new ServerSocket(6789); 这里的6789表示的是服务端口,需要注意的是端口的分配必须是唯一的。因为端口唯一标识计算机的唯一服务。另外,端口号取值区间为0~65535,但由于前1024个端口已经被TCP/IP作为保留端口,因此可所分配的端口只能是1024之后的数字。 Socket client=new Socket(InetAddress.getLocalHost(),6789)在Java中,客户端代码采用的是Socket类,一个简单的使用示例如下: Socket client=new Socket(InetAddress.getLocalHost(),6789) 这里的6789表示的是服务端口,客户端必须知道有关服务器的IP地址或者其主机名。对于这一点Java也提供了一个类InetAddress,该对象的实例必须通过它的静态方法来提供。它的静态方法主要提供了得到本机IP 和通过名字或IP直接得到InetAddress的方法。 上面的方法基本可以建立一条连线让两台计算机相互交流了。可是数据是如何传输的呢?这里需要用到IO操作, 它提供了针对于字节流和Unicode的读和写,也提供了一个缓冲用于数据的读写。 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out=new PrintWriter(socket.getOutputStream()); 上面两句就是建立缓冲并把原始的字节流转变为 Unicode 可以操作,而原始的字节流来源于 Socket的getInputStream()和 getOutputStream()方法,分别用来得到输入流和输出流。现在有了基本的模型和基本的操作工具,下面我们可以做一个简单的Socket例程了。 客户端 publicclassClient{staticSocketserver publicclassClient { staticSocketserver; publicstaticvoidmain(String[]args )throwsException { server=newSocket(InetAddress.getLocalHost(),5678); BufferedReaderin =newBufferedReader(newInputStreamReader(server.getInputStream())); PrintWriterout =newPrintWriter(server.getOutputStream()); BufferedReaderwt =newBufferedReader(newInputStreamReader(System.in)); while(true) { Stringstr =wt .readLine(); out.println(str); out.flush(); if(str.equals(end)) { break; } System.out.println(in.readLine()); } server.close(); } } 服务端 单用户服务端 publicclassMyServer publicclassMyServer { publicstaticvoidmain(String[]args )throwsIOException { ServerSocket ServerSocketserver =newServerSocket(5678); Socketclient =server .accept(); BufferedReaderin =newBufferedReader(newInputStreamReader(client.getInputStream())); PrintWriterout =new

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档