1.IP:唯一标识网络上的没一台计算机(相当于每台计算机都有一个IP地址,而且是唯一的);
2.IP地址组成:由4个8位二进制数组成 例如:11000000,10101000,00000001,11001000将他们转换成十进制就是 192.168.1.200
3.由上述所示:192.168.1表示网络地址 200表示主机地址
网络地址决定了可以分配的最大网络数,主机地址决定了一个网络中可以存在可以存在的计算机的最大数量
4.查看本机的IP地址:ipconfig,, 测试网络是否畅通:ping+IP地址;
5.TCP协议:TCP协议是一种面向连接的,可靠的,基于字节流的传输的传输层协议。TCP要求通信双方必须建立连接之后才通信,通信双方可以同时进行数据传输。他是全双工的,从而保证数据的正确传输。
6:UDP协议:UDP协议是一种无连接的,不可靠的传输层协议;
7.socket:套接字(打个比方来说好比两个快递点,发货人从某个快递点发货,收货人从指定的快递点收货,发货人的快递点和收货人的快递点就好比两个端点,一个端点发送数据,一个端点接收数据)
8.代码实例:
package com.ip1.text;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class SeverSocketDome {
//服务器
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(8080);
Socket socket=serverSocket.accept();
InputStream is=socket.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String info;
while ((info=br.readLine())!=null) {
System.out.println(info);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.ip.text;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 网络编程
*
* @author lenovo
*
*/
public class ServerDome {
public static void main(String[] args) {
InputStream is=null;
InputStreamReader isr=null;
BufferedReader br=null;
Socket socket=null;
OutputStream os=null;
//服务器
try {
//建立服务器,指定端口5000
ServerSocket so=new ServerSocket(5000);
//通过accept()方法等待客户端发起通信
socket=so.accept();
//打开输入流,让客户端输入,服务器接收
is=socket.getInputStream();
//输入的是字符,所以将字节转换为字符
isr=new InputStreamReader(is);
br=new BufferedReader(isr);
String info;
//读取客户端的信息
while ((info=br.readLine())!=null) {
System.out.println("客户端说:"+info);
}
//给客户端响应
//打开输出流,让服务器给客户端提示登录成功
os=socket.getOutputStream();
String say="欢迎您,登录成功";
//打撒成字节数组
byte[]words=say.getBytes();
os.write(words);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
is.close();
isr.close();
br.close();
socket.close();
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}