深入浅析java中TCP与UDP的区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

TCP/UDP:TCP主要是面向连接的协议,它包含有建立和拆除连接,保证数据流的顺序和正确性等功能。
每次对TCP中间的数据操作相当于对一个数据流进行访问。它最典型的特征就是那三次握手的建立连接过程。Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下:
1. 构建一个ServerSocket实例,指定本地的端口。这个socket就是用来监听指定端口的连接请求的。
2.重复如下几个步骤:
a. 调用socket的accept()方法来获得下面客户端的连接请求。通过accept()方法返回的socket实例,建立了一个和客户端的新连接。
b.通过这个返回的socket实例获取InputStream和OutputStream,可以通过这两个stream来分别读和写数据。
c.结束的时候调用socket实例的close()方法关闭socket连接。
TCP服务器端:
public class TCPServer {
public static void main(String[] args){
try{
ServerSocket server=new ServerSocket();
SocketAddress address=new InetSocketAddress(InetAddress.getLocalHost(),10001);
server.bind(address);
System.out.println("等待连接客户端...");
Socket client = server.accept();
System.out.println("connected with"+client.getRemoteSocketAddress());
PrintWriter socketOut = new PrintWriter(client.getOutputStream());
System.out.println("等待客户端的消息...");
byte buf[] = new byte[1024];
if ( client.getInputStream().read(buf) > 0 ) {
System.out.println("收到的消息: " + new String(buf));
}
System.out.println("发送消息给客户端...");
String sendStr = "服务器返回的信息";
socketOut.write(sendStr);
socketOut.flush();
socketOut.close();
client.close();
server.close();
}catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}