您的位置:首页 > 理论基础 > 计算机网络

网络编程

2020-07-25 10:50 429 查看

1.InetAddress

创建:InetAddress add = InetAddress.getLocalHost();

.getHostName()获取主机名

.getHostAddress()获取IP

.getByName()拿别人的地址或IP

InetSocketAddress 可以获取端口号

.getPort()获取端口

2.URL:

url.getProtocol()获取协议

url.getHost()获取主机名/域名

url.getPath()在服务器上的文件路径

url.getDefaultPort()获取默认端口号

3.socket:

1.依靠的是字节流完成数据的传输

2.写出数据使用输出流

读入数据使用输入流

3.ServerSocket 在 accept()方法处进入线程阻塞 直到有客户端连接 才会继续向下执行

单人的传输:

客户端Client

1.创建客户端对象 Socket

2.获取输出流 socket.getOutputStream(); DataOutputStream

3.关流 dos.close();

服务端:Server

1.创建服务端对象 ServerSocket

2.获取对应 客户端 Socket serverSocket.accept();

3.使用输入流获取数据 socket.getInputStream();

DataInputStream dis.readUTF();

4.关流 dis.close();

双人的传输:

客户端Client

1.创建客户端对象 Socket

2.写出数据到服务端socket.getOutputStream(); DataOutputStream

dos.writeUTF(“亲,在吗?”);

3.接收服务端的 反馈 DataInputStream dis.readUTF();

dis.readUTF();

4.关流

服务端:Server

1.创建服务端对象 ServerSocket

2.获取对应的客户端socket serverSocket.accept();

3.获取客户端数据 DataInputStream dis.readUTF();

4.给出客户端响应socket.getOutputStream(); DataOutputStream

dos.writeUTF(“收到 谢谢!!!”);

5.关流

多人使用对象或方法:

客户端Client

1.创建客户端对象Socket

2.发送数据到服务端ObjectOutputStream或DataOutputStream

dos.writeUTF(“bjsxt&bjsxt”);

//对数据进行封装(Person p = new Person)创建对象

写出数据oos.writeObject§;

3.接收服务端的反馈 DataInputStream dis.readUTF();

4.关流

服务端:Server

1.创建服务端对象 ServerSocket

2.获取对应的Socket serverSocket.accept();

3.获取客户端发送的信息ObjectInputStream ois.readObject()

接收反馈的消息

强转/转型

4.对信息进行校验,判断值是否相等

\5. 反馈结果DataOutputStream dos.writeUTF(message);

6.关流

服务端Server方法

1.创建服务端对象ServerSocket

2.接收客户端请求需要用到while serverSocket.accept();

3.处理请求socket.getInetAddress();

进入到方法new LoginThread(socket).start();

4.进行反馈

方法:

让方法继承Thread实现run

创建有参构造器

1.创建流DataInputStream 输入 DataOutputStream输出

2.对数据进行解析dis.readUTF(); message.split("&"); //进行分割bjsxt&bjsxt放到数组

比较split[0].equals(“bjsxt”)split[1].equals(“bjsxt”)

3.进行反馈dos.writeUTF(ss);

4.udp:

客户端 发送的数据包 包含 服务端的地址和端口号

client.send(packet);

服务端 只是用来接收数据 数据包 不需要含有目的地地址的 服务端的地址和端口号

server.receive(packet);

客户端Client

1.新建客户端对象DatagramSocket

2.新建发送数据的数据包 “亲,在吗?”.getBytes();用byte接收 DatagramPacket

3.发送数据client.send(packet);

4.新建接收服务端反馈的数据 包 DatagramPacket

5.接收信息 client.receive(packet1);

6.信息的展示sout new String(packet1.getData(), 0, packet1.getLength())

7.关闭客户端 client.close();

服务端:Server

1.创建服务端对象DatagramSocke

2.新建数据包 DatagramPacket还有一个byte类型的数组

3.接收数据 server.receive(packet);

4.展示客户端发来的数据new String(packet.getData(), 0, packet.getLength());

5.新建对客户端反馈的数据包 DatagramPacket

6.对客户端进行反馈 server.send(packet1);

7.关闭服务端 server.close();

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: