"黑马程序员"网络编程学习笔记1

黑马程序员入学Java知识——精华总结 黑马程序员入学Java知识——精华总结   J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结!   一、黑马程序员—java概述与基础知识 6 1、何为编程? 6 2、Java语言概述,历史、特点 6 3、什么是跨平台性?原理是什么?JVM 7 4、Jre和Jdk的区别? 7 5、java虚拟机JVM 8 6、 Java程序运行机制 8 7 阅读详情

----------------- android培训、java培训、期待与您交流! ----------------------


一.进行通讯的步骤:

1.找到对方IP(最大值255,本机的默认IP:127 .0.0.1)255是广播地址

2.数据要发到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识,为了方便称呼这个数字,叫做端口。

3.定义通信规则,这个通讯规则称为协议,国际组织定义了通用协议TCP/IP,协议有两种TCP/IP和UDP两种协议

二.网络模型:

                     (通过数据的封箱与拆箱来进行网络通讯)

三.网络通讯要素:

1.IP地址:网络中设备的标识,主机名localhost也能替代

2.端口号:用于标识进程的逻辑地址,有效端口:0-65535,其中0-1024系统使用或保留

3.传输协议:通讯的规则,常用协议TCP,UDP

   3.1 .UDP:将数据及源和目的的封装成数据包中,不需要建立连接,每个数据报的大小在限制在64K内,因无连接,是不可靠协议,不需要建立连接,速度快

    3.2 TCP:建立连接,形成传输数据的通道,在连接中进行大数据量传输,通过三次握手完成连接,是可靠协议,必须建立连接,效率会稍低

socke套接字t定义:socket就是为网络服务提供的一种机制,通信的两端都有socket,网络通信其实就是socket间的通信,数据在两个socket间通过IO传输。

UDP传输

1.DatagramSocket与DatagramPacket

2.建立发送端,接收端

3.建立数据包

4.调用socket的发送接收方法

5关闭Socket

发送端与接收端是两个独立的运行程序

发送端:

import java.net.*;

/*

需求:通过udp传输方式,将一段文字数据发送出去。

思路:

1.建立updsocket服务。

2.提供数据,将数据封装到数据包中。

3.通过socket服务的发送功能,将数据包发过去。

4.关闭资源。

*/

class UdpSend

{

    public static void main(String []args)throws Exception

    {

          //1.创建udp服务,通过DatagramSocket对象。

         DatagramSocket ds=new DatagramSocket();

      //2.确定数据,并封装成数据包。

         byte []data="wo shi zhong guo  ren".getBytes();

         DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.0.0.1"),10000);

      //3.通过socket服务,将已有的数据包发送过去,通过send方法。

      ds.send(dp);

     //4.关闭资源

      ds.close();

   }

}

接受端:

/*

需求:

定义一个应用程序,用于接受udp协议传输的数据并处理的。

思路 :

1.定义udpsocket服务。通常会监听端口

2.定义一个数据包,因为要存储接收到的字节数据,因为数据包对象中有更多功能可以提取字节数据中的不同数据信息。

3.通过socket服务的receive方法将收到的数据存入已定义好的数据包中。

4.通过数据包中的特有功能。将这些不同的数据取出,打印在控制台上。

5.关闭资源

*/

class UdpRece

     public static void main(String []args)throws Exception

     {

       1.创建udp的socket,建立端点。

        DatagramSocket ds=new DatagramSocket(10000);

       while(true){

        //  DatagramSocket ds=new DatagramSocket(10000);不能这样定义,否则会出异常

         //2.定义数据包,用于存储数据。

         byte[]  buf=new byte[1024];

         DatagramPacket dp=new DatagramPacket(buf,buf.length);

        //3.通过服务的receive方法将收到数据存入数据包中,是个阻塞方法

        ds.receive(dp);

      //4.通过数据包的方法获取其中的数据

        //发送端的IP

         String ip=dp.getAddress().getHostAddress();

          String data=new String(dp.getData(),0,dp.getLength());

        //发送端的端口

          int port=dp.getPort();

          System.out.println("ip:"+ip+",data"+data+",port:"+port);

           //5.关闭资源

            ds.close();

            }

     }

}

TCP传输

1.socket和ServerSocket

2.建立客户端和服务端

3.建立连接后,通过Socket中的IO流进行数据的传输

4.关闭socket

同样,客户端与服务端是两个独立的应用程序

/*

演示TCP传输

1.tcp分客户端和服务端

2.客户端对应的对象是socket

   服务端对应的对象是serverSocket.

*/

/*

客户端:

通过查阅socket对象,发现在该对象建立时,就可以去连接指定主机

因为tcp是面向连接的,所以在建立socket服务时

就要有服务端存在,并连接成功,形成通路后,在该通道进行数据的传输。

步骤:

1.创建socket服务,并制定要连接的主机和端口。

*/

客户端:

import java.io.*;

import java.net.*;

class TcpClient

{

      public static  void main(String []args)throws Exception{

            //创建客户端的socket服务,指定目的主机和端口

           Socket s=new Socket("192.0.0.1",10003);

           //为了发送数据,应该获取socket流中的输出流。

           OutputStream out=s.getOutputStream();

           out.write("wo laile tcp".getBytes());

             s.close();

            }  

}

服务端:

/* 

需求:定义端点接收数据并打印在控制台上。

服务端:

1.建立服务端的socket服务。ServerSocket;

并监听一个端口。

2.获取链接过来的客户端对象

  通过serverSocket的accept方法。没有连接就会等,所以这个方法阻塞式的。

3.客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据。

4.关闭服务端(可选)

*/

class TcpServer

{

   public static void main(String []args){

          //建立服务端socket服务,并监听一个端口。

         ServerSocket ss=new ServerSocket(10003);

       //通过accept方法获取连接过来的客户端对象,这是个阻塞方法

         Socket  s=ss.accept();

         String ip=s.getInetAddress.getHostAddress();

         System.out.println("ip:"+ip);

         //获取客户端发过来的数据,那么要使用客户端对象的读取流来读取数据

          InputStream in=s.getInputStream();

         byte[] buf=new byte[1024];

         int len=in.read(buf);

          System.out.print(new String(buf.o,len);

          s.close();//关闭客户端


关于TCP的练习:

/*
 * 需求:建立一个文本转换服务端。
 * 客户端给服务端发送文本,服务端会将文本转成大写在返回给客户端
 * 而且客户端可以不断的进行文本转换,当客户的输入over时,转换结束。
 * 分析:
 * 客户端:
 * 既然是操作设备上的数据,那么就可以使用io技术,并按照io的操作规律来思考
 * 源:键盘录入。
 * 目的:网络设备,网络输出流。
 * 而且操作的是文本转换,可以选择字节流。
 * 步骤:
 * 1.建立服务。
 * 2.获取键盘录入
 * 3.将数据发给服务端。
 * 4.后去服务端返回的大写数据。
 * 5.结束,关资源
 * 都是文本数据,可以使用字符流进行操作,同时提高效率,加入缓冲
 */
/*
 * 该例子出现的问题。
 * 现象:客户端和服务端都在莫名的等待
 * 为什么呢?
 * 因为客户端和服务端都有阻塞式方法,这些方法没有读到结束标识。那么一直等
 *而导致两端都在等待 
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 class TransClient  {
    public static void main(String[] args)throws Exception {
Socket s=new Socket("192.0.0.1",10000);
//定义读取键盘数据的流对象
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  //定义目的,将数据写入到socket输出流,发给服务端。
BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//定义一个socket读取流,读取服务端返回的大写信息。
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufOut.write(line);
bufOut.flush();
bufOut.newLine();
String str=bufIn.readLine();
System.out.println("server:"+str);
}
bufr.close();
s.close();
}
}
 /*
  * 服务端:
  * 源:socket读取流。
  * 目的:socket输出流。
  * 都是文本,装饰
  */
class TransServer{
public static void main(String[] args)throws Exception {
ServerSocket ss=new ServerSocket(10000);
   Socket s=ss.accept();
//读取socket读取流中的数据
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
   //目的,socket输出流,将大写数据写入到socket输出流,并发送给客户端
// BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufIn.readLine())!=null){
System.out.println(line);
/*bufOut.write(line.toUpperCase());
    bufOut.newLine();
    bufOut.flush();
*/
out.println(line.toUpperCase());
}
s.close();
ss.close();
}
}
 一下是TCP的练习:

/*
 * 需求:建立一个文本转换服务端。
 * 客户端给服务端发送文本,服务端会将文本转成大写在返回给客户端
 * 而且客户端可以不断的进行文本转换,当客户的输入over时,转换结束。
 * 分析:
 * 客户端:
 * 既然是操作设备上的数据,那么就可以使用io技术,并按照io的操作规律来思考
 * 源:键盘录入。
 * 目的:网络设备,网络输出流。
 * 而且操作的是文本转换,可以选择字节流。
 * 步骤:
 * 1.建立服务。
 * 2.获取键盘录入
 * 3.将数据发给服务端。
 * 4.后去服务端返回的大写数据。
 * 5.结束,关资源
 * 都是文本数据,可以使用字符流进行操作,同时提高效率,加入缓冲
 */
/*
 * 该例子出现的问题。
 * 现象:客户端和服务端都在莫名的等待
 * 为什么呢?
 * 因为客户端和服务端都有阻塞式方法,这些方法没有读到结束标识。那么一直等
 *而导致两端都在等待 
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 class TransClient  {
    public static void main(String[] args)throws Exception {
Socket s=new Socket("192.0.0.1",10000);
//定义读取键盘数据的流对象
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  //定义目的,将数据写入到socket输出流,发给服务端。
BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//定义一个socket读取流,读取服务端返回的大写信息。
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufOut.write(line);
bufOut.flush();
bufOut.newLine();
String str=bufIn.readLine();
System.out.println("server:"+str);
}
bufr.close();
s.close();
}
}
 /*
  * 服务端:
  * 源:socket读取流。
  * 目的:socket输出流。
  * 都是文本,装饰
  */
class TransServer{
public static void main(String[] args)throws Exception {
ServerSocket ss=new ServerSocket(10000);
   Socket s=ss.accept();
//读取socket读取流中的数据
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
   //目的,socket输出流,将大写数据写入到socket输出流,并发送给客户端
// BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufIn.readLine())!=null){
System.out.println(line);
/*bufOut.write(line.toUpperCase());
    bufOut.newLine();
    bufOut.flush();
*/
out.println(line.toUpperCase());
}
s.close();
ss.close();
}
}



/*
 * 需求:建立一个文本转换服务端。
 * 客户端给服务端发送文本,服务端会将文本转成大写在返回给客户端
 * 而且客户端可以不断的进行文本转换,当客户的输入over时,转换结束。
 * 分析:
 * 客户端:
 * 既然是操作设备上的数据,那么就可以使用io技术,并按照io的操作规律来思考
 * 源:键盘录入。
 * 目的:网络设备,网络输出流。
 * 而且操作的是文本转换,可以选择字节流。
 * 步骤:
 * 1.建立服务。
 * 2.获取键盘录入
 * 3.将数据发给服务端。
 * 4.后去服务端返回的大写数据。
 * 5.结束,关资源
 * 都是文本数据,可以使用字符流进行操作,同时提高效率,加入缓冲
 */
/*
 * 该例子出现的问题。
 * 现象:客户端和服务端都在莫名的等待
 * 为什么呢?
 * 因为客户端和服务端都有阻塞式方法,这些方法没有读到结束标识。那么一直等
 *而导致两端都在等待 
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 class TransClient  {
    public static void main(String[] args)throws Exception {
Socket s=new Socket("192.0.0.1",10000);
//定义读取键盘数据的流对象
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  //定义目的,将数据写入到socket输出流,发给服务端。
BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//定义一个socket读取流,读取服务端返回的大写信息。
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufOut.write(line);
bufOut.flush();
bufOut.newLine();
String str=bufIn.readLine();
System.out.println("server:"+str);
}
bufr.close();
s.close();
}
}
 /*
  * 服务端:
  * 源:socket读取流。
  * 目的:socket输出流。
  * 都是文本,装饰
  */
class TransServer{
public static void main(String[] args)throws Exception {
ServerSocket ss=new ServerSocket(10000);
   Socket s=ss.accept();
//读取socket读取流中的数据
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
   //目的,socket输出流,将大写数据写入到socket输出流,并发送给客户端
// BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufIn.readLine())!=null){
System.out.println(line);
/*bufOut.write(line.toUpperCase());
    bufOut.newLine();
    bufOut.flush();
*/
out.println(line.toUpperCase());
}
s.close();
ss.close();
}
}

/*
 * 需求:建立一个文本转换服务端。
 * 客户端给服务端发送文本,服务端会将文本转成大写在返回给客户端
 * 而且客户端可以不断的进行文本转换,当客户的输入over时,转换结束。
 * 分析:
 * 客户端:
 * 既然是操作设备上的数据,那么就可以使用io技术,并按照io的操作规律来思考
 * 源:键盘录入。
 * 目的:网络设备,网络输出流。
 * 而且操作的是文本转换,可以选择字节流。
 * 步骤:
 * 1.建立服务。
 * 2.获取键盘录入
 * 3.将数据发给服务端。
 * 4.后去服务端返回的大写数据。
 * 5.结束,关资源
 * 都是文本数据,可以使用字符流进行操作,同时提高效率,加入缓冲
 */
/*
 * 该例子出现的问题。
 * 现象:客户端和服务端都在莫名的等待
 * 为什么呢?
 * 因为客户端和服务端都有阻塞式方法,这些方法没有读到结束标识。那么一直等
 *而导致两端都在等待 
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 class TransClient  {
    public static void main(String[] args)throws Exception {
Socket s=new Socket("192.0.0.1",10000);
//定义读取键盘数据的流对象
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  //定义目的,将数据写入到socket输出流,发给服务端。
BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//定义一个socket读取流,读取服务端返回的大写信息。
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufOut.write(line);
bufOut.flush();
bufOut.newLine();
String str=bufIn.readLine();
System.out.println("server:"+str);
}
bufr.close();
s.close();
}
}
 /*
  * 服务端:
  * 源:socket读取流。
  * 目的:socket输出流。
  * 都是文本,装饰
  */
class TransServer{
public static void main(String[] args)throws Exception {
ServerSocket ss=new ServerSocket(10000);
   Socket s=ss.accept();
//读取socket读取流中的数据
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
   //目的,socket输出流,将大写数据写入到socket输出流,并发送给客户端
// BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufIn.readLine())!=null){
System.out.println(line);
/*bufOut.write(line.toUpperCase());
    bufOut.newLine();
    bufOut.flush();
*/
out.println(line.toUpperCase());
}
s.close();
ss.close();
}
}



---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.youkuaiyun.com/heima




MatLab Desired port was :31515解决方案 前言:使用的MatLabR2022b今天突然出现了错误,在程序中打不开文件。后尝试了下面的方法,可以解决。后面还有另一种方法,上面方法如果行不通,大家可以尝试一下。搜索栏输入:firewall.cpl。找到相关项,右键属性,设置为允许。 阅读详情

相关推荐

Python 包安装报错:ERROR: No matching distribution found for xxx 的全面排查指南

本文全面解析Python包安装时常见的`ERROR: No matching distribution found for xxx`报错。从检查包名拼写、网络与镜像源配置,到深入分析Python版本、操作系统等环境兼容性问题,提供了从简到繁的排查步骤。文章还介绍了使用`pip debug`、`-v`参数等高级诊断工具,并给出了更换包管理器、使用Docker等终极解决方案,帮助开发者高效解决依赖安装难题。

p8q9r0的博客 895

黑马网络编程学习

<br />一:端口号范围 0~~~65535之间,0~~1023之间的端口数是用于一些之名网络服务的应用。<br /> <br />注意的事情是127.0.0.1是本地回路ip地址。这个端口并不需要通过网卡。直接就可以访问本机。其中UDP与TCP传输协议,是比较主要的传输协议。<br /> <br />TCP,输出控制协议(Transmission Control Protocol),是面向连接的信息协议。<br /> <br />UDP,用户是举报协议(User Datagram Protocol),是

Somnusxyb的专栏 717

向量数据库安全实战:从Embedding反推到检索越权的全链路防护

随着RAG应用在企业中的普及,向量数据库已成为知识库系统的核心组件。但许多团队对向量数据的安全认知仍停留在传统数据库的账号密码、网络隔离和磁盘加密上。事实上,向量化并非加密,而是一种有损压缩的语义映射,向量本身可以被反推模型还原出原文关键信息,形成高保真的语义泄露通道。同时,相似度检索的模糊匹配特性打破了传统行列权限模型,使得越权检索和成员推断攻击成为新的安全威胁。理解这些原理,有助于企业在数据采集、向量化、索引构建、检索查询等环节构建分层防护体系,包括脱敏、扰动、过滤下推、网关控制等手段。本文从基础概念出

weixin_29323551的博客 259

黑马程序员 | Linux网络编程 | 学习笔记

Linux网络编程本质就是实现服务端和客户端的通信传输,而Linux系统编程也有讲过本地进程间的通信,所以总结一下各种通信的方式,以免混淆;本地通信pipe(管道):实现了有血缘关系进程间的通信fifo:可用于非血缘关系进程间的通信mmap内存映射:上面两个的功能它都可以实现信号:信号量本地套接字:socket(),参数 domain:AF_UNIX/AF_LOCAL网络通信多进程:也就是为每个客户端分配一个进程来处理请求(记得回收子进程)

m0_74795952的博客 2322

利用Python爬虫获取淘宝商品评论:实战案例分析

在数字化时代,数据的价值日益凸显,尤其是对于电商平台而言,商品评论作为用户反馈的重要载体,蕴含着丰富的信息。本文将详细介绍如何利用Python爬虫技术获取淘宝商品评论,包括代码示例和关键步骤解析。

2401_87849335的博客 2833

使用Intel编译器编译OpenFOAM

本文总结了使用INTEL编译器编译OpenFOAM的过程

姜蜉蝣的博客 1546

黑马程序员系统编程_网络编程(讲义、笔记)

黑马程序员系统编程_网络编程(讲义、笔记) 链接:https://pan.baidu.com/s/1w78sxegdeLYy6MQ0zCa_Lw 提取码:yyds 复制这段内容后打开百度网盘手机App,操作更方便哦 转自: https://www.bilibili.com/video/BV1iJ411S7UA?p=127&spm_id_from=pageDriver ...

qq_44690575的博客 1510

TC3XX - MCAL知识点(十一):WDG EB-tresos配置说明与代码浅析

在AUTOSAR中,看门狗栈实现了三种监控机制:实时监控:用于周期软件的定时监控期限监督:针对非周期软件逻辑监督:用于监督执行顺序的正确性看门狗(WDG)驱动实现AUTOSAR(4.2.2)中规定的看门狗SWS,提供初始化、改变操作模式和设置触发条件(超时)等服务,供看门狗硬件(WDT)用户使用。WDG驱动的用户包括:模式管理模块(用于初始化),WdgM通过Wdglf设置触发条件和驱动运行模式设置。WdgM实施上述监督机制。AUTOSAR扩展触发概念,以支持窗口看门狗模式。

梦想技术家 3601

黑马程序员——Java网络编程

黑马程序员——Java网络编程 ---------------------- android培训、java培训、期待与您交流! ---------------------- 一、TCP和UDP ●  UDP ■  将数据的源和目的封装在数据包中,不需要建立连接 ■  第个数据报的大小限制在64K内 ■  因无连接,是不可靠的协议,速度快 ●  TCP ■  建立连接,开成传输数

冯焱 946

ReAct框架到多智能体协作:OpenClaw任务分解机制的演进与突破

AI的最终价值是落地,是帮用户解决实际问题,而不是停留在聊天界面里。从ReAct框架到多智能体协作,OpenClaw的任务分解体系走了一条非常务实的路线:所有的优化都是为了解决真实场景里的痛点,所有的设计都是为了让用户用起来更省心。很多人说现在的AI还是“人工智障”,那是因为他们没有用到真正能落地的AI产品。当你用过OpenClaw,体验过你说一句话它就能把一整套复杂任务全都做完的感觉,你就会明白:AI代替人做重复性工作的时代,已经真的来了。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 311

VisionPro 机器视觉案例 之 硬币识别

CogPMAlignTool模板匹配工具 掩模

机器视觉李小白的博客 1892

黑马程序员-网络编程

-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------ 一、网络编程: 1、为什么需要网络编程技术? IO技术的存在是为了更加便捷的操作数据,但是存在问题那就是对数据的操作只限于本机内数据操作,通俗的话就是说你玩的都是单机,不能和其他用户共享数据,也就是说不能把本机上的数据发给其他的电脑上的应用程序,打

达达的专栏 1842

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

黑马程序员网络编程

------- android培训、java培训、期待与您交流! ---------- 黑马程序员网络编程 目前较为流行的网络编程模型是客户机/服务器结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出请求。服务器始终运行,监听网络端口,一旦有客户请求,就会启动一个服务线程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 TCP是

lamstudyingnet的专栏 658

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Linux网络编程——黑马程序员笔记

01P-复习-Linux网络编程 02P-信号量生产者复习 03P-协议 协议: 一组规则。 04P-7层模型和4层模型及代表协议 分层模型结构: OSI七层模型: 物、数、网、传、会、表、应 TCP/IP 4层模型:网(链路层/网络接口层)、网、传、应 应用层:http、ftp、nfs、ssh、telnet。。。 传输层:TCP、UDP 网络层:IP、ICMP、IGMP 链路层:以太网帧协议、ARP 05P-网络传输数据封装流程 网络传输流程: 数据没有封装之前,是不能在网络中传递。

zhuguanlin121的博客 3411

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

“黑马程序员”网络编程

------ http://www.itheima.com" target="blank">android培训、http://www.itheima.com" 网络编程: 1.找到对方IP 2.数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程 序都用数学进行标识,为了方便称呼这个数字叫做端口 3.定义通信规则,这个规则称为协议。国际组织定义了通用协议T

u010081460的专栏 608

黑马程序员—网络编程

-------------------------------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 1:网络编程(理解) (1)就是通过Java语言实现不同计算机的数据交换和信息共享。 (2)网络编程三要素: A:IP地址 在网络中唯一标识一台计算机的。 B:端

u012573367的专栏 496

1024程序员节背后的逆袭之路:黑马程序员是如何炼成的?

auto-generated

VarFlow的博客 827

黑马程序员_网络编程学习笔记

------- android培训、<a href="http://www.itheima.com" target="blank">java培训、期待与您交流! ---------- 下面是我在学习毕老师的网络编程课程时的笔记: 网络编程就是Socket编程(Socket:插槽,插座) 网卡口相当于一个插槽:每个应用程序都有这样一个“插座”,也可以理解为“码头”。【物理传输】被主板处

mayixiaoshu的专栏 643

黑马程序员————网络编程学习笔记

------- android培训、java培训、期待与您交流! ----------   网络编程: 端口: 物理端口: 逻辑端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535,其中0~1024系统使用或保留端口。   java 中ip对象:InetAddress. import java.net.*; cla

429

”黑马程序员“网络编程

------- android培训、java培训、期待与您交流! --------- TCP网络编程 Server端 Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下: 1. 构建一个ServerSocket实例,指定本地的端口。这个socket就是用来监听指定端口的连接请求的。 2.重复如下几个步骤:

Silly_child的博客 397

黑马程序员——Java之网络编程

-------------------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! --------------------- 一、Java网络编程 线程与线程可以通过通信来实现内存共享,而所谓的网络编程就是实现应用程序间的相互通信来实现信息共享。 1、概述 网络编程就是两个或多个设备之间的数据交换,其实更具体的说,网络编程就是两个或多个程序之间的数据

Meteor_Come 1068

黑马程序员——javase进阶——day12——网络编程

在网络通信协议下,不同计算机上运行的程序,可以进行数据传输单元测试就是编写测试代码,可以准确、快速地保证程序的正确性,Junit是Java单元测试的框架。JUnit4可以通过注解的方式来标记方法 , 让方法存某种意义 ,常见的注解有:@BeforeClass 全局只会执行一次,而且是第一个运行(标记的方法需要是一个静态无参无返回值方法)@Before 在测试方法运行之前运行(非静态无参无返回值方法)@Test 测试方法(此方法必须是非静态无参无返回值方法), 主要用于测试的方法。

qq_56444564的博客 1165

黑马程序员学习笔记之六(java网络编程)

---------------------- android培训、java培训、期待与您交流! ----------------------   网络编程概述             网络编程就是两个或多个设备之间的数据交换,其实更具体的说,网络编程就是两个或多个程序之间的数据交换,和普通的单机程序相比,网络程序最大的不同就是需要交换数据的程序运行在不同的计算机上,这样就造成了数据交换的复

BBF15的专栏 825

黑马程序员——Java 网络编程学习

网络编程的核心是IP、端口、协议三大元素 网络编程的本质是进程间通信 网络编程的2个主要问题:1是定位主机,2是数据传输

binbinsex的专栏 698

黑马程序员——网络编程

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 第一讲 网络编程概述 1、网络模型:OSI参考模型和TCP/IP参考模型 一般来说开发处于传输层和网际层,应用层为:FTP和HTTP协议等,传输层为:UDP和TCP等,网际层为:IP。         通常用户操作的是应用层,而编程人员需要做的是传输层和网际层,用

BigHeart的专栏 638

黑马程序员_王康java 网络编程

java  网络编程 1, Java Applet小应用程序基本结构    import java.applet.*;     import java.awt.*;   class  类名  extends Applet   {     类成员声明   }   Test.html 测试网页        MyFirstJavaApplet

wk458469748的专栏 6828
上一篇: "黑马程序员”IO流的学习日志01
下一篇: "黑马程序员"网络编程学习日志2
tangjinjava
博客等级 码龄16年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值