通信的开端

第一次接触通信,一开始感觉是个很高大上的东西。好吧,未知的神秘总是比较让人敬畏。

在这里写一下这些天的总结,回首一顾,似乎还是蛮简单的。

首先,每一台电脑在互联网上都有一个IP地址,通过ip地址我们可以找到这台电脑。但是要实行通信还需要知道该电脑进行通信的程序。通过端口你可以确保你发送的信息是发给QQ或者飞信的,而不是WPS或者其他什么程序。

在没有界面的时候,我们可以用Telnet来进行通信。

  Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

在命令行输入:Telnet  IP  端口

就可以访问对应Ip的相应程序进行通信。

 

 

 

回到java,这里做一个最简单的聊天程序。这是当初的第一个成品;

import java.io.IOException;

//因为字节是基础,所以在这里保存这个第一次的成品吧

//*****************************************************************************************************8

//实现一个服务器接收客户机的连接

public class Test {

    //在制定的端口上启动服务器

    public void setupServer(int port){

        try {

            java.net.ServerSocket ss=new java.net.ServerSocket(port);       //创建服务器对象

 

            System.out.println("1、服务器启动成功,所在端口;"+port);

            

            

            java.net.Socket s= ss.accept();//接收客户端,让服务器等待 可能会阻塞

            String rs=s.getRemoteSocketAddress().toString();

            System.out.println("2、有客户机进入"+rs);

            //取得输入输出流,读写数据

            java.io.InputStream ins = s.getInputStream();

            java.io.OutputStream ous = s.getOutputStream();

            String mine="你好,欢迎来到www.inoutip.com";

            byte[] bs=mine.getBytes();

            ous.write(bs);

            

            //读写数据

            int d=ins.read();//阻塞,要等对方发生时送数据才能收到

            while(d!=13){//这样只能读取一行,所以可以改成#

                System.out.println("读取一个新的字节:"+(char)d);

                d=ins.read();

            //  String inputS=readString(ins);

                

            }

            System.out.println("对方发来了结束指令:"+d);

            s.close();

        

            

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }       

    }

    //主函数

    public static void main(String Args[]){

        Test cs=new Test();

        cs.setupServer(9090);

    }

}

 

人懒,很多总结都没写,以至于有时想动笔也不知从何而起,总算是开始动笔了,让我慢慢写完。<!--EndFragment--><!--EndFragment-->

你可能感兴趣的:(通信)