TCP实现
- TCP协议需要在双方之间建立连接,通过输入输出流来进行数据的交换,建立需要通过三次握手,断开需要四次挥手,保证了数据的完整性,但传输效率也会相应的降低。
//客户端代码
public class TCPClient01 {
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("--------client----------");
//1.定义客户端 Socket
Socket client=new Socket("127.0.0.1", 7788); //ip ->服务器的ip 端口:服务端的端口号
//2.io
//获取输出流 OutputStream getOutputStream() 返回此套接字的输出流。
DataOutputStream os=new DataOutputStream(client.getOutputStream());
os.writeUTF("哈哈哈");
os.flush();
//3.关闭
os.close();
client.close();
}
}
//服务端代码
public class TCPServer02 {
public static void main(String[] args) throws IOException {
System.out.println("--------server----------");
//1.定义服务端
ServerSocket server=new ServerSocket(7788);
//2.阻塞式监听 Socket accept()
Socket client=server.accept();
//3.io操作
//输入流
DataInputStream is=new DataInputStream(client.getInputStream());
System.out.println(is.readUTF());
//4.关闭
is.close();
}
}
TCP实现多个客户端登录一个服务器开发
// 客户端
public class LoginTwoWayClient{
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("--------client----------");
//1.定义客户端 Socket
Socket client=new Socket("127.0.0.1", 7788); //ip ->服务器的ip 端口:服务端的端口号
//键盘输入数据
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入用户名");
//name=haha&pwd=12345
String name=input.readLine();
System.out.println("请输入密码:");
String pwd=input.readLine();
System.out.println(name+"-->"+pwd);
//2.io
//获取输出流 OutputStream getOutputStream() 返回此套接字的输出流。
DataOutputStream os=new DataOutputStream(client.