Java- 网络编程 简单接触TCP

  TCP是面向连接的而UDP是面向无连接,这个大家都知道。在编程可以很明显的看到,UDP之间发送数据是对等的。例如A向B发送数据,A只要知道B的IP地址和端口就可以将数据包发过去,B设置好接收端口就可以接收数据包,同样的B向A发送数据也是。但在TCP里就有些不一样的,他是有主从之分的,主端是服务器端,客端是客户端,这不是废话嘛。= =!可以有多个客户端向服务器发送数据,如果一个客户端正在发送数据,还没发送完,而此时有另一个客户端向服务器端发出申请想要连接他,那么此时这个客户端会进入阻塞状态。在TCP里进入WHILE的死循环,不断等待客户端的连接,并将接收到的数据显示出来。。

  对于TCP和UDP就简单的了解到这里……贴两段JAVA的TCP的代码。大概的思想我理解了,虽然这两段很简单,可是时间久了,有一天我想我也会忘记代码写的,贴在这里方便有一天回忆下。

  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();
            
            DataInputStream dis = new DataInputStream(s.getInputStream());
            System.out.println(dis.readUTF());
            
            dis.close();
            s.close();
            
            //System.out.println("A Client Connect");
        }        
    }
}
复制代码

  TCP的Client端

复制代码
import java.net.*;
import java.io.*;
import java.util.*;

public class TCPClient{
    public static void main(String[] args) throws Exception{
        Socket s = new Socket("127.0.0.1",6666);
        
        OutputStream os = s.getOutputStream();
        DataOutputStream dos = new DataOutputStream(os);

        Scanner reader = new Scanner(System.in);        
        String str = reader.next();

        dos.writeUTF(str);
        dos.close();
        s.close();
    }
}
复制代码

 

posted @   春天又来了  阅读(265)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示