Java编程笔记之网络编程1

原创 2014年11月07日 00:33:33

1.什么是计算机网络

       把分布在不同地理区域内的计算机与专门的外部设备用通信联络连接在一起,组成一个功能强的,规模大的网络系统,可以方便的传输信息,共享数据。

2.常见的网络编程方式

ISAPICGIWinInetWinsock、 

1  ISAPI主要是开发基于浏览器客户端与服务器端程序。效率比CGI方式高,而且也扩展了CGI没有的一些功能。(基于TCP/IP模型中的应用层)

2  CGI主要是开发基于浏览器客户端与服务器端程序。(基于TCP/IP模型中的应用层)

3  WinInet主要是开发客户端程序。(基于TCP/IP模型中的应用层)

4  Winsock主要是基于socket来开发客户端与服务器端程序。(基于TCP/IP模型中的各层)要想开发低层协议的程序的话就要了解协议的报文格式。

3.TCP/IP:传输控制协议/网际协议

四层:应用层(应用层,表示层,会话层),传输层,互联网层,网络接口层(物理层,数据链路层)

什么是三次握手:

(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。

(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 

(3) 客户必须再次回应服务段一个ACK报文,这是报文段3


4.IP地址:32位二进制长度表示

5.Socket(套接字):两个应用程序之间传输数据,每一端成为一个Socket,通常实现Clinet-server通信,建立连接时所需的寻址信息为远程计算机的IP地址和端口号

代码实例---网络编程步骤

1.

创建socket;
打开连接到socket的输入/输出流;
按照一定的协议对socket进行读/写操作;
关闭socket;


服务端
class TcpServer{
      public static void main(String args[]){
             ServerSocket server=new ServerSocket(8888);//创建端口号
             while(true){
                      Socket  s=server.accept();
                      
BufferedWriter   bw = new BufferedWriter( newOutputStreamWriter(s1.getOutputStream()));//创建客户端输入输出流
                       bw.write("nihaoa");
                       bw.close();
                       s.close();
            }

     }
}

服务器

public class TCPClient//TCP Client

    public staticvoid main(String[] args) {

        try {

            Sockets = new Socket("127.0.0.1", 8888);

            BufferedReaderbr = new BufferedReader( new InputStreamReader(s.getInputStream()));

            Stringstr = br.readLine();

            System.out.println("服务器说:" + str);

            s.close();

        } catch (UnknownHostExceptione) {

            System.err.println("服务器连接失败!");

            e.printStackTrace();

        } catch (IOExceptione) {

            e.printStackTrace();

        }

    }

}













Java网络编程学习笔记

Java网络编程,我们先来看下面这一张图: 由图可得:想要进行网络编程,首先是服务器端通过ServerSocket对某一个端口进行监听。通过accept来判断是否有客户端与其相连。若成功连上...
  • qq_25827845
  • qq_25827845
  • 2016年02月22日 16:03
  • 1448

《UNIX网络编程卷1》读书笔记--第五章TCP客户/服务实例

前言 本章开始编写一个完整的TCP客户/服务器程序实例。 (1) 客户冲标准输入读入一行文本,并写给服务器 (2)服务器从网络输入读入这行文本,并回射给客户 (3)客户从网络读入这行回射...
  • mashuiping
  • mashuiping
  • 2017年03月24日 11:39
  • 205

【马士兵】笔记_Java网络编程

有道云笔记 连接: http://note.youdao.com/noteshare?id=73a73d444af9b9165649e572f9f1feb4 -------------...
  • na_simon2900086
  • na_simon2900086
  • 2016年11月15日 05:39
  • 453

JAVA编程思想第4版读书笔记

原来download了网上一个第1版的Java编程思想,里面讲的还是Java1.0和Java1.1时代的故事。我看到一半,又找到第三版,发现讲的是Java 1.4时代的故事。到第4版,讲Java 1....
  • androidTang
  • androidTang
  • 2015年10月01日 11:30
  • 743

《unix网络编程》(1)源代码的使用方法

《unix网络编程(卷1)》源码下载地址 可以从这里免费下载源码 Ubuntu下源码的使用方法 将下载的源码在Ubuntu下解压;控制台内进入解压后源码所在的目录。 打开文件README,其内容如下:...
  • u013074465
  • u013074465
  • 2015年03月15日 20:27
  • 1989

Java网络编程总结

本文主要对java网络编程Socket类的使用做总结,其中Socket对象可以进行数据的读取和写入是必须要知道的!...
  • wenzhi20102321
  • wenzhi20102321
  • 2016年09月22日 11:26
  • 1672

孙鑫视频笔记——网络编程1(基础)

TCP服务器端:   #include //包含socket的dll相关头文件 #include //以下例子中用到C语言相关的库函数 void main() { //1 加载套接字库dll ...
  • WaitForFree
  • WaitForFree
  • 2014年04月05日 23:31
  • 920

C++网络编程 卷1 运用ACE和模式消除复杂性——笔记1

第0篇 0.3.1 面向对象中间件层 1、常见面向对象中间件体系结构: 1)主机基础设施中间件:对并发和ipc机制封装,如JavaPackage、ACE 2)分布式中间件:扩充1),使一些网络编程任务...
  • kaci_csdn
  • kaci_csdn
  • 2016年09月14日 13:45
  • 1066

Java编程思想重点笔记(Java开发必看)

Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理解题(比如is-a...
  • lanxuezaipiao
  • lanxuezaipiao
  • 2014年12月09日 13:22
  • 17770

Java网络编程详解

1.网络编程   1.1计算机网络概述   网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。   按照计算机网络的定义,通过一定的物理设备将处于不同位置的计算机连接起来组成的网...
  • maydaysar
  • maydaysar
  • 2017年02月27日 19:34
  • 443
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java编程笔记之网络编程1
举报原因:
原因补充:

(最多只允许输入30个字)