1 基本概念
TCP:专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流。UDP:向应用程序提供了一种发送封装的原始ip数据报的方法,并且发送时无需建立连接,是一种不可靠的连接。Socket:通常用来实现client-server连接。两个java应用程序可通过一个双向的网络通信连接实现数据交换,这个双向链路的一段称为一个Socket。java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的client和server端。建立连接时所需的寻址信息为远程计算机的IP地址和端口号。TCP端口和UDP端口是分开的,各有65536个端口。2 TCP
模拟Server端:
import java.net.*;import java.io.*;public class TCPServer{ public static void main(String[] args) throws Exception{ ServerSocket ss = new ServerSocket(6666); while(true){ Socket s = ss.accept(); System.out.PRintln("a client connect!"); DataInputStream dis = new DataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); dis.close(); s.close(); } }}模拟Client端:
public class TCPClient { public static void main(String[] args) throws Exception{ //本机ip及Server端端口号 Socket s = new Socket("127.0.0.1",6666); OutputStream os = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); Thread.sleep(30000); dos.writeUTF("hello server!");//unicode8省空间 dos.flush(); dos.close(); s.close();//Socket连接过后关掉 }}新闻热点
疑难解答