jsp网站开发关键技术搜狗收录提交
Socket协议编程实践【分布式计算】
Socket之UDP和TCP
文章目录
- Socket协议编程实践【分布式计算】
- 前言
- 一、什么是Socket
- 二、为什么要使用Socket
- 三、套接字
- 四、实验目标:给定包含学号和成绩的服务器文件,分别基于UDP和TCP,编写程序,实现客户端通过学号获取对应成绩。
- 1.基于UDP实现
- 2.基于TCP实现
- 总结
前言
一、什么是Socket
独立于具体协议的网络编程接口
在ISO模型中,主要位于会话层和传输层之间
BSD Socket(伯克利套接字)是通过标准的UNIX文件描述符和其他程序通讯的一个办法,目前已经被广泛移植到各个平台。
二、为什么要使用Socket
三、套接字
四、实验目标:给定包含学号和成绩的服务器文件,分别基于UDP和TCP,编写程序,实现客户端通过学号获取对应成绩。
1.基于UDP实现
UDPServer.java
import java.net.*;
import java.util.Arrays;
import java.io.*;
public class UDPServer{public static void main(String args[]){ DatagramSocket aSocket = null;try{aSocket = new DatagramSocket(8080);//端口号为:8080byte[] buffer = new byte[1000];byte[] id = new byte[1000];byte[] score = new byte[1000];DatagramPacket request = new DatagramPacket(buffer, buffer.length);aSocket.receive(request);BufferedReader i = new BufferedReader(new FileReader("C:\\Users\\Linyz\\Desktop\\data.txt"));String str;while ((str = i.readLine()) != null) {String[] tokens = str.split(",");id = tokens[0].getBytes();score = tokens[1].getBytes();int nLen = request.getLength();String r,I;r = new String(request.getData(),0,nLen);I = new String(id);if (r.equals(I)) {request.setData(score);DatagramPacket reply = new DatagramPacket(request.getData()