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

java网络编程之传输协议

2017-07-03 10:27 225 查看

1.传输层协议

TCP和UDP的区别:

TCP :面向连接(经历三次握手)、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。 服务端和客户端

UDP:面向非连接、传输不可靠(丢包[数据丢失])、用于传输少量数据(数据报包模式)、速度快。发送端和接收端

2.tcp协议



import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

import org.junit.Test;

public class TcpDemo {
//服务端
@Test
public void server() throws IOException{
//准备给客户端发送的数据
String data = "你来啦,最近好么?";

//创建服务端,指定端口号
ServerSocket server = new ServerSocket(8888);
System.out.println("服务端已经启动完毕...............");
//接收客户端的连接对象
while (true) {
Socket accept = server.accept();
System.out.println("连接过来的客户端是:"+accept.getInetAddress());//获取连接过来的客户端IP
//给客户端写出数据
PrintStream out = new PrintStream(accept.getOutputStream());
out.print(data);
out.close();
}
}
//客户端
@Test
public void client() throws Exception{
//创建客户端对象,并指定连接服务端的主机IP和端口
Socket client = new Socket("localhost",8888);
//获取服务端发送给客户端的数据
Scanner scanner = new Scanner(client.getInputStream());
while (scanner.hasNext()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
client.close();
}
}
注意:首先启动服务端,然后在启动客户端
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐