java通信初步

     以下做些java通信方面的总结,虽然有点零散,但是都是精华。

 

       几个常用命令:

     1.ping(发送回显消息):用于查看网络是否通畅   格式:ping  网络地址

     2.telnet(远程登录):连接到指定IP地址的机器的指定端口  格式:telnet IP地址 端口

     3.netstat:显示当前网路连接状况 格式:netstat -an

     4.ipconfig:查看本机IP及其他信息

 

     创建简单服务器步骤:

     1.在指定端口上常见一个java.net.ServerSocket对象,代码如下:

ServerSocket server  = new ServerSocket(端口名);

    

     2.等待其他客户机来连接:

java.net.Socket client = server.accept();

 

    3. 得到输入输出流对象

//从连接对象上得到输入输出流对象
OutputStream ous = client.getOutputStream();
InputStream ins =  client.getInputStream();

 

    4.使用输入输出流进行通信数据的读写

   String s = "你好!";
   //取得组成这个字符串的字节
    byte[] data = s.getBytes();
    //用输出对象发送
     ous.write(data);
        ous.flush();
    //关闭与客户机的连接
     client.close();

 

   最后整合一下代码就完成了。

 

   要实现一个强大的服务器,至少还需要实现以下几点:

    1. 运用多线程,使服务器可以添加多个客户机

    2. 循环读取数据(消息)

    3. 界面优化

    4. 设置消息发送与读取格式(如:XMPP风格)

   

     几个要点:

     1.阻塞:在accept()、read()、readLine()时线程阻塞

     2.最好把readLine()方法和write()方法写在线程的run()方法内部,构成循环读取与输出

     3.”\n\r“表示一行的结束时,如果用循环readLine()方法,则会看成两行来读取

     4.做界面时,只需将readLine()方法得到的字符串append到JTextArea上即可

     5.服务器和客户机的输入输出流是用同一个端口得到的,才能很好地交互,这边用这个端口的输出流输出数据,那边就可以用这个端口的输入流接受数据了

 

   

   编写命令行客户端:

Socket client = new Socket("服务器IP",服务器端口);

   就主要是这一行代码

 

   通信项目的代码实现,主要抓住输入输出流的动向,灵活运用多线程来解决循环读取问题。当你希望某段代码能一直执行的话,考虑把它写到run()方法里。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值