java中网络编程,java中网络编程的步骤

  java中网络编程,java中网络编程的步骤

  Yyds干货库存

  @[目录]

  第一,前言上一篇文章记录了Java中一切事物的ip和端口的解释记录。

  应记录以下内容:

  第二,通信协议是一个协议。大家可以用约定好的协议互相交流。

  H4 TCP/IP协议套件:/h4

  TCP是用于用户传输(电话呼叫)的协议

  特点:稳定,三向握手,4波。(去百度哈)UDP是用户包协议(发短信)。

  DDOS攻击:洪水攻击。区别:需要先连接TCP,不连接也可以发送UDP。

  三、TCP实时通信的思路:

  font color=" Crimson " Client:/font

  1,你需要先连接服务器:使用Socket。

  2.发送消息

  Font color="Crimson "服务器:/font

  1.建立服务的端口信息:ServerSocket

  2.等待用户连接。

  3.接受用户的消息。

  开始编写代码:

  Demo01.java是客户。

  Demo02.java是服务器。

  3.1.demo02.java服务器的ServerSocket类:在服务器上打开一个端口,等待访问。如下所示:

  server socket server socket=new server socket(3245);Socket类代表一个客户端套接字。等待来自客户端的消息,如下所示:

  socket socket=server socket . accept();InputStream类标记那些从不同数据源生成输入的类。阅读客户端的消息,如下所示:

  is=socket . getinputstream();3.1.2使用管道流ByteArrayOutputStream写入字节类型数据的类相当于一个中间缓冲层,该类写入文件等其他输出流。它对字节进行操作,属于内存操作流。

  ByteArrayOutputStream baos=new ByteArrayOutputStream();遍历:

  字节类型

  byte[]buffer=新字节[1024];int len1while((len1=is.read(buffer))!=-1){ baos.write(buffer,0,len 1);}输出如下所示:

  system . out . println(baos . tostring());3.2.demo01.java客户端需要知道服务器的地址。

  使用前面的InetAddress类:

  inet address server IP=inet address . get byname( 127 . 0 . 0 . 1 );int port=3245

  类套接字客户端套接字。代码如下:

  创建套接字链接

  Socket Socket=new Socket(serverIP,port);向IO流发送消息。

  OutputStream类:fileoutputstream

  output stream OS=socket . get output stream();OS . write(‘你好,我是一只有抱负的猪’。getBytes());基本版完成了。让我们来看看。

  3.3、效果图注意,先启动服务器,再启动客户端!

  第四,高级版改变范围,写异常处理,及时关闭资源。

  ServerSocket ServerSocket=nullSocket socket=nullInputStream为=nullByteArrayOutputStream baos=null;分段封闭管道,注意顺序。

  规则,谁先回答,谁先断线。

  七。附源代码demo01.java客户端源代码:

  包装tcp02导入Java . io . io exception;导入Java . io . inputstream;导入Java . io . output stream;导入Java . net . inet address;导入Java . net . socket;导入Java . net . unknownhostexception;//客户端公共类demo 01 { public static void main(string[]args)抛出IO异常{ socket socket=nullOutputStream os=null//1.知道服务器的地址试试{ inet address server IP=inet address . get byname( 127 . 0 . 0 . 1 );int port=3245//2.创建一个Socket link Socket=new Socket(server IP,port);//3.发送消息IO stream OS=socket . get output stream();OS . write(‘你好,我是一只有抱负的猪’。getBytes());} catch(Exception e){ e . printstacktrace();}最后{ if(os!=null){ try { OS . close();} catch(io exception e){ e . printstacktrace();} } if(socket!=null){ try { socket . close();} catch(io exception e){ e . printstacktrace();}}} }}demo02.java服务器源代码:

  包装tcp02导入Java。io。bytearrayoutputstream导入Java。io。io异常;导入Java。io。inputstream导入Java。网。服务器套接字;导入Java。网。插座;//服务端public class demo 02 { public static void main(String[]args)抛出io异常{服务器套接字服务器套接字=空;Socket socket=nullInputStream为=nullByteArrayOutputStream baos=null;尝试{服务器套接字=新服务器套接字(3245);//等待客户端的消息套接字=服务器套接字。接受();//读取客户端的消息is=套接字。getinputstream();//管道流baos=new ByteArrayOutputStream();字节[]缓冲区=新字节[1024];int len 1 while((len 1=is . read(buffer))!=-1){ baos.write(buffer,0,len 1);//String msg=new String(buffer,0,len 1);//系统。出去。println(msg);}系统。出去。println(baos。tostring());} catch(io异常e){ e . printstacktrace();}最后{如果(baos!=null){ try { baos。close();} catch(io异常e){ e . printstacktrace();} }如果(是!=null){ try { is。close();} catch(io异常e){ e . printstacktrace();} } if(socket!=null){ try { socket。close();} catch(io异常e){ e . printstacktrace();} } if(ServerSocket!=null){尝试{服务器套接字。close();} catch(io异常e){ e . printstacktrace();} } } }}六,后言下篇记录文件传输心得详解。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: