为了账号安全,请及时绑定邮箱和手机立即绑定

Java Socket应用---通信是这样练成的

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • url:统一资源定位符:表示internet上的网络资源<br> 协议+资源名称<br> url常用方法:<br> 存在java.net包中,提供创建url/子url,获取url等方法<br> 第一步:创建实例<br> URL imooc=new URL("http://www.imooc.com");<br> //在原有url下再创建url<br> URL url=new URL(imooc,"/index.html?username=tom#test")<br> //获取url的信息<br> url.getProtocol();//获取协议http<br> url.getHost();//获取主机www.imooc.com<br> url.getPort();//获取端口号:-1<br> url.getPath();//获取文件路径/index.html<br> url.getFile();//获取文件名/index.html?username=tom<br> url.getRef();//获取相对路径test<br> url.getQuery();//查询字符串username=tom<br> 注:创建url时没有指定端口号则getPort方法返回-1,协议不同会使用默认端口 2url读取网页内容:<br> URL url=new URL("http://www.baidu.com");<br> //获取输入流通过openStream方法<br> InputStream is=url.openStream();<br> //转化成字符输入流<br> InputStream isr=new InputStreamReader(is);<br> //加缓冲提高读取效率<br> BufferedReader br=new BufferedReader();<br> String date=br.teadline(); while(date.next()){System.out.print(date); date=br.readLine(); } 完成后要关闭资源相关资源:br,isr字符输入流,is字节输入流 注:如果输出是乱码则要在is字节输入流中规定编码为 InputStream isr=new InputStreamReader(is,"utf8");<br>
    查看全部
  • java.net 包中提供了URL类来表示URL http:// 协议名 www.xxx.com/xx/xx 资源名称
    查看全部
  • /** *基于TCP协议的Socket通信,实现用户登录 *服务器端 */ publicclassServer{ publicstaticvoidmain(String[]args){ try{ //1.创建一个服务器端Socekt,即ServerSocket,指定绑定的端口,并监听此端口 ServerSocketserverSocket=newServerSocket(8888); //2.调用accept()方法开始监听,等待客户端的连接 System.out.println("***服务器即将启动,等待客户端的连接***"); Socketsocket=serverSocket.accept(); //3.获取输入流,读取客户端信息 InputStreamis=socket.getInputStream();//字节输入流 InputStreamReaderisr=newInputStreamReader(is);//将字节流转换为字符流 BufferedReaderbr=newBufferedReader(isr);//为输入流添加缓冲 Stringinfo=null; while((info=br.readLine())!=null){//循环读取客户端的信息 System.out.println("这里是服务器,客户端说:"+info);} socket.shutdownInput();//关闭输入流 //4.获取输出流,响应客户端的请求 OutputStreamos=socket.getOutputStream(); PrintWriterpw=newPrintWriter(os); pw.write("欢迎您登录"); pw.flush();//调用flush()方法将缓冲输出 //5.关闭资源 pw.close(); os.close(); br.close(); isr.close(); is.close(); socket.close(); serverSocket.close(); }catch(IOExceptione){ e.printStackTrace(); } } }
    查看全部
  • 学jdbc了再来提交~
    查看全部
  • 客户端socket,转来转去好晕啊啊啊
    查看全部
  • 通信过程(Socket通信模型): 1、在服务端建立一个ServerSocket,绑定相应的端口,并且在指定的端口进行侦听,等待客户端的连接。 2、当客户端创建连接Socket并且向服务端发送请求。 3、服务器收到请求,并且接受客户端的请求信息。一旦接收到客户端的连接请求后,会创建一个链接socket,用来与客户端的socket进行通信。 通过相应的输入/输出流进行数据的交换,数据的发送接收以及数据的响应等等。 4、当客户端和服务端通信完毕后,需要分别关闭socket,结束通信。 ServerSocket常用方法: ServerSocket(int port)——创建并绑定到特定端口的服务器套接字 accept()——侦听并接受到此套接字的连接 close()——关闭此套接字 getInetAddress()——得到ServerSocket对象绑定的IP地址。如果ServerSocket对象未绑定IP地址,返回0.0.0.0。 getLocalPort()——返回此套接字在其上侦听的端口 Socket常用方法: Socket(InetAddress address, int port)——创建一个套接字并将其连接到指定ip地址的指定端口号 Socket(String host, int port)——创建一个套接字并将其连接到指定主机上的指定端口号 close()——关闭此套接字 getInetAddress()——返回套接字连接的地址 getInputStream()——返回此套接字的输入流 getOutputStream——返回此套接字的输出流 Socket通信实现步骤 1.创建ServerSocket和Socket 2.打开连接到Socket的输入/输出流 3.按照协议对Socket进行读/写操作 4.关闭输入输出流、关闭Socket TCP协议是面向连接、可靠的、有序的、以字节流的方式发送数据,基于TCP协议实现网络通信的类: 客户端的Socket类 服务器端的ServerSocket类
    查看全部
    1 采集 收起 来源:Socket 简介

    2016-09-21

  • 服务端 socket.close(); serverSocket.close();是关闭服务当前客户端连接,但是服务端还在运行,IO资源不会自动释放,所以需要关闭流释放资源。 如果多个客户端连接都没有关闭资源,可能会造成内存溢出。所以最好是关闭流资源,以免造成资源浪费。 看这个: http://www.zhihu.com/question/20129467
    查看全部
  • Socket编程 一、网络基础知识 两台计算机要通过网络进行通信,必须具备:a、唯一的标识(IP地址); b、需要共同的语言(协议); c、辨别不同应用程序(端口号)。 1、IP地址: 每台计算机的唯一标识,用来区分网络中的不同主机,是两台主机进行网络通信必不可少的。IPv4 2、协议: a、TCP/IP协议:目前世界上应用最为广泛的协议。是以TCP和IP为基础的不同层次上多个协议的集合。 也称为:TCP/IP协议族 或者 TCP/IP协议栈。 b、TCP: Transmission Control Protocol 传输控制协议 c、IP :Internet Protocol 互联网协议 d、TCP/IP模型(网络分层):1、物理层;网线。。。 2、数据链路层 3、网络层 4、传输层:TCP/IP协议 5、应用层:HTTP超文本传输协议、FTP文件传输协议、SMTP简单邮件传送协议、Telnet远程登录服务。 3、端口号: a、用于区分不同的应用程序; b、端口号范围为0-65535,其中0-1023为系统所保留; c、IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础。 d、常用端口号-- http: 80; ftp; 21; telnet; 23。 JAVA中得网络支持 针对网络通信的不同层次,Java提供的网络功能有四大类: 1、InetAddress:用于标识网络上的硬件资源。(IP地址) 2、URL:统一资源定位符---通过URL可以直接读取或写入网络上得数据。 3、Sockets:使用TCP协议实现网络通信的Socket相关的类。 4、Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信
    查看全部
    1 采集 收起 来源:网络基础简介

    2016-08-19

  • UDP 编程: 特点:udp协议是无连接,无状态,无序的、不可靠的。 优点:速度快。 原理:将需要发送的信息封装在数据报(Datagram),在数据报里指明Socket主机和端口号。然后发送出去。 使用的操作类: DatagramPacket 表示数据报包 DataSocket 用来发送和接收数据报包的套接字
    查看全部
    1 采集 收起 来源: DatagramPacket

    2016-08-15

  • 客户端: /1.创建客户端Socket,指定服务器地址和端口 Socket socket=new Socket("localhost", 8888); //2.获取输出流,向服务器端发送信息 OutputStream os=socket.getOutputStream();//字节输出流 PrintWriter pw=new PrintWriter(os);//将输出流包装为打印流 pw.write("用户名:alice;密码:789"); pw.flush(); socket.shutdownOutput();//注意:关闭输出流 //3.获取输入流,并读取服务器端的响应信息 InputStream is=socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); String info=null; while((info=br.readLine())!=null){ System.out.println("我是客户端,服务器说:"+info); } socket.shutdownInput();//注意:关闭输入流 //4.关闭资源 br.close(); is.close(); pw.close(); os.close(); socket.close();
    查看全部
  • 2016/5/6
    查看全部
  • 端口号记录
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-05-06

  • 网络分层
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-05-06

  • socket file transmit
    查看全部
    0 采集 收起 来源:Socket 总结

    2016-05-06

  • 基于TCP的Socket
    查看全部
    0 采集 收起 来源:Socket 简介

    2016-05-05

举报

0/150
提交
取消
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!