知识大全 Java Socket通信如何摆平自身端口问题

Posted 通信

篇首语:千里之行,始于足下。改变将来,从现在开始。改变现在,就是改变未来。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java Socket通信如何摆平自身端口问题相关的知识,希望对你有一定的参考价值。

Java Socket通信如何摆平自身端口问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Java Socket通信在使用的时候有不少的问题 在端口编程上来说是一个十分重要的 下面我们就看看Java Socket通信如何才能更好的使用相关的代码 希望大家有所帮助

  事实上网络编程简单的理解就是两台计算机相互通讯数据而已 对于程序员而言 去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了 Java SDK提供一些相对简单的Api来完成这些工作 Java Socket通信就是其中之一 对于Java而言 这些Api存在与 这个包里面 因此只要导入这个包就可以准备网络编程了

  网络编程的基本模型就是客户机到服务器模型 简单的说就是两个进程之间相互通讯 然后其中一个必须提供一个固定的位置 而另一个则只需要知道这个固定的位置 并去建立两者之间的联系 然后完成数据的通讯就可以了 这里提供固定位置的通常称为服务器 而建立联系的通常叫做客户端 基于这个简单的模型 就可以进入网络编程啦

  Java对这个模型的支持有很多种Api 而这里我只想介绍有关Java Socket通信的编程接口 对于Java而言已经简化了Socket的编程接口 首先我们来讨论有关提供固定位置的服务方是如何建立的 Java提供了ServerSocket来对其进行支持 事实上当你创建该类的一个实力对象并提供一个端口资源你就建立了一个固定位置可以让其他计算机来访问你 ServerSocket server=new ServerSocket( );这里稍微要注意的是端口的分配必须是唯一的 因为端口是为了唯一标识每台计算机唯一服务的 另外端口号是从 ~ 之间的 前 个端口已经被Tcp/Ip 作为保留端口 因此你所分配的端口只能是 个之后的 好了 我们有了固定位置 现在所需要的就是一根连接线了 该连接线由客户方首先提出要求 因此Java同样提供了一个Socket对象来对其进行支持 只要客户方创建一个Java Socket通信的实例对象进行支持就可以了 Socket client

  =new Socket(InetAddress getLocalHost() );客户机必须知道有关服务器的IP地址 对于著一点Java也提供了一个相关的类InetAddress 该对象的实例必须通过它的静态方法来提供 它的静态方法主要提供了得到本机IP 和通过名字或IP直接得到InetAddress的方法

  好了 上面的方法基本可以建立一条连线让两台计算机相互交流了 可是数据是如何传输的呢?事实上I/O操作总是和网络编程息息相关的 因为底层的网络是继续数据的 除非远程调用 处理问题的核心在执行上 否则数据的交互还是依赖于IO操作的 所以你也必须导入java io这个包 java的IO操作也不复杂 它提供了针对于字节流和Unicode的读者和写者 然后也提供了一个缓冲用于数据的读写

   BufferedReader in=new BufferedReader(new InputStreamReader

  (server getInputStream()));

   PrintWriter out=new PrintWriter(server getOutputStream());

  上面两句就是把原始的字节流转变为Unicode可以操作(即字符)并建立缓冲以提高效率 而原始的字节流来源于Java Socket通信的两个方法 getInputStream()和getOutputStream()方 分别用来得到输入和输出 那么现在有了基本的模型和基本的操作工具 我们可以做一个简单的Java Socket例程了

  服务方:

   import java io *;

   import *;

   public class MyServer

   public static void main(String[] args) throws IOException

   ServerSocket server=new ServerSocket( );

   Socket client=server accept();

   BufferedReader in=new BufferedReader(new InputStream

  Reader(client getInputStream()));

   PrintWriter out=new PrintWriter(client getOutputStream());

   while(true)

   String str=in readLine();

   System out println(str);

   out println( has receive );

   out flush();

   if(str equals( end ))

   break;

  

   client close();

  

  

cha138/Article/program/Java/hx/201311/26805

相关参考

知识大全 Java的socket通信的demo

Java的socket通信的demo  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java代码

知识大全 Java Socket通信读取相关信息代码

JavaSocket通信读取相关信息代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java

知识大全 Java NIO(异步IO)Socket通信例子

JavaNIO(异步IO)Socket通信例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /

知识大全 Java Socket通信Flash编程技巧

JavaSocket通信Flash编程技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 Java Socket通信如何支持有关的API

JavaSocket通信如何支持有关的API  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ja

知识大全 一个Java 的 Socket 服务器和客户端通信的例子

一个Java的Socket服务器和客户端通信的例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Java Socket通信技术收发线程互斥的解决方法

JavaSocket通信技术收发线程互斥的解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用Socket进行通信[2]

疯狂Java讲义:使用Socket进行通信[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 使用Socket进行通信[1]

疯狂Java讲义:使用Socket进行通信[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 使用NIO实现非阻塞Socket通信(1)

疯狂Java讲义:使用NIO实现非阻塞Socket通信(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看