Raix 发表于 2019-11-26 14:13

Java网络编程

-------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖{:1_919:}{:1_919:}{:1_889:}---------------
第二帖,今晚写个网络编程
TCP编程:户端给服务端发送信息。服务端输出此信息到控制台上start:项目名: TCP    .idea    out        src      raix.java.com            TCP.java本次工具使用IDXX工具,学会用EXXXXX工具,再去学习IDXX工具。TCP.java部分
package.raix.java.com

import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

//accept()方法会将回车符作为结束标志

public class TCP{
   //客户端
   @test
   public void client(){
          Socket socket = null;
          OutputStream os = null;
          try{
                //1.创建一个Socket的对象,通过构造器指明服务端的IP地址。以及其接收程序的端口号
                socket = new Socket(InetAddress.getByName("192.168.0.0").9090);
                //2.getOutputStream():发送数据,方法返回OutputStream的对象
                os = socekt.getOutputStream();
                //3.具体的输出过程
                or.write("我是客户端,请多关照! ", getBytes());
          }catch(IOException e){
               e.printStackTrace();
          }finally{
               //4.关闭相应的流和Socket对象
               if(os != null){
                   try{
                        os.close();
                   }catch(IOException e){
                     e.printStackTrace();
                   }
            }
            if(socket != null){
                   try{
                     socket.close();
                   }catch(IOExcpetion e){
                     e.prinkStackTrace();
                   }               
             }
          }
   }
      

   //服务端
   @Test
   public void server(){
          ServerSocket serverSocket = null;
          Socket socket = null;
          InputStream is = null;   

          try{
               //1.创建一个ServerSocket的对象,通过构造器指明自身的端口号
               serverSocket = new ServerSocket(9090);
               //2.调用其accept()方法,返回一个Socket的对象
               socket = serverSocket.accept();
               //3.调用Socket对象的getInputStream()获取一个从客户端发送过来的输入流   
               is = socket.getInputStream();
               //4 .对获取的输入流进行的操作
               byte[] b = new byte;
               int len = 0;
               while(len = is.read(b)) != -1){
                  String str = new String (b, 0, len);
                  System.out.println(str);
               }      
               System.out.println("收到来自于" + socket.getInetAdderss().getHostAdderss() + "的连接!");
          }catch(IOException e){
               e.printStackTrace();
          }finally{
               //5,关闭相应的流以及Socket,ServerSocke的对象
               if(is != null){
                  tyr{
                         is.close();
                  }catch(IOException e){
                         e.printStackTrace();
                  }
               }
               if(socket != null){
                  try{
                         socket.close();
                  }catch(IOException e){
                         e.printStackTrace();
                  }
               }

            if(serverSocket != null){
                  try{
                         serverSocket.close();
                  }catch(IOException e){
                         e.printStackTrace();
                  }
            }            
          }
   }
}
   -------------------------------------教程结束,基本关键部分代码都写了注释----------------------------------------------------------


-------------------------------------本代码纯属手敲,复制粘贴锻炼不大,因为我也是新手之一,以后就做个代码搬运工惹--------


-------------------------------------大佬勿喷,,暴躁老哥欢迎欢迎,我就喜欢这样的老哥,嘿嘿嘿---------------------------------
-------------------------------------会的就当作复习一遍咯,嘿嘿嘿嘿,新手可以模范试试哈-----------------------
-------------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖{:1_893:}{:1_893:}{:1_936:}---------------

无限苦肉盖神 发表于 2019-11-27 10:55

以前学信息网络这门课的时候,实习就有这方面的内容。不过那时我是copy的,c++版,看不懂。这学期才开始学java,确实感觉比c++简单

lytalyt 发表于 2019-11-27 10:45

Raix 发表于 2019-11-26 22:14
咳咳,,由于纯手敲,你是对的哈哈哈

哈哈看出来了,在IDE上这种错误是不会发生的

悠小沫 发表于 2019-11-26 14:28

聊天室啊,写过了

子诗人 发表于 2019-11-26 14:29

有用,最近也在学着这个,谢谢楼主!

cj13888 发表于 2019-11-26 14:33

学习借鉴一下,谢谢分享

随风断雨 发表于 2019-11-26 14:41

看与不看 都不重要   俺不会

燃病软 发表于 2019-11-26 14:42

刚好学过网络编程不过敲不出来

lytalyt 发表于 2019-11-26 14:43

26行还是27行是.getBytes()

jay13627113668 发表于 2019-11-26 14:49

我反正是不会{:1_924:}

高山流水草原 发表于 2019-11-26 14:49

强,标记一下~

Raix 发表于 2019-11-26 22:14

lytalyt 发表于 2019-11-26 14:43
26行还是27行是

咳咳,,由于纯手敲,你是对的哈哈哈
页: [1] 2
查看完整版本: Java网络编程