网络编程课哪家好 (网络编程零基础入门)

一、网络

1.网络作用:

将多*独台**立的计算机连接起来,实现资源共享、数据交互

2.理解ip地址的构成:

ip地址=网络标识+地址标识

3.常用网络命令:

ipconfig 查看本地网络配置

ping 目标地址 查询是否通畅

4.网络通信协议:为在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合

4.1 TCP协议(Transmission Control Protocol 传输控制协议)

面向连接的、可靠的、基于字节流的传输通信协议。

4.2.UDP协议(User Datagram Protocol 用户数据报协议)

无连接的协议,在传输数据之前,客户端和服务器并不建立和维护连接。

二、socket编程(使用java.net包)

1.什么是socket:指通信链路的端点称为套接字(Socket),提供程序操作的Api

网络编程课哪家好,网络编程师

sockte编程的工作原理

2.实现socket编程:

2.1服务器端程序:

package com;

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

public class Server {

//服务器端

public static void main(String[] args) {

try {

//1.创建ServerSocket对象

ServerSocket serverSocket=new ServerSocket(7788);

//2.接收客户端连接

System.out.println("等待客户端连接。。。");

Socket socket=serverSocket.accept(); //停

System.out.println("已接通..");

//3.获取流读写消息

InputStream is= socket.getInputStream(); //输入流

OutputStream os= socket.getOutputStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(is));

String info = null;

while((info=reader.readLine())!=null){

System.out.println("服务器获取客端发的消息:"+info);

}

//4.服务器给客户端发送信息 :写消息

os.write("登入成功!OK".getBytes());

//5.释放资源

os.close();

is.close();

socket.close();

serverSocket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

2.客户端程序:

package com;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Socket;

public class Client {

public static void main(String[] args) {

try {

//1.创建socket对象

System.out.println("客户端去连服务器...");

Socket socket=new Socket("localhost", 7788);

System.out.println("可以与服务器进行通信");

//客户端给服务器发消息

//输出流写信息、输入流读信息

OutputStream os=socket.getOutputStream(); //写信息

InputStream is=socket.getInputStream();

//写信息

String sendInfo="用户名:admin,密码:123";

os.write(sendInfo.getBytes());

socket.shutdownOutput(); //表示发送完

//客户端接收服务器的消息

int len=0;

while(len==0) { //确保流中有内容

len=is.available();

}

byte []bs=new byte[is.available()];

//读

is.read(bs);

System.out.println("客户端获服务器端发的消息:"+new String(bs));

is.close();

os.close();

socket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}