网络编程:Java Socket API的理解与应用案例 原创 亦凉 2024-09-11 16:51 14阅读 0赞 Java Socket API是Java平台提供的一种用于网络通信的API。它包括Socket类、ServerSocket类等,用于建立TCP连接,进行数据传输。 以下是一些理解和应用Socket API的案例: 1. **客户端**:发送邮件 ```java import java.io.*; import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) throws Exception { // 创建SMTP会话 Properties props = System.getProperties(); props.put("mail.smtp.host", "smtp.gmail.com"); // 根据自己的邮箱选择SMTP服务器 props.put("mail.smtp.port", "587"); // 通常使用TLS加密的端口 Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected Password getPassword(Object arg) { return new java.util.Password(arg.toString()); } })); // 创建邮件对象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress("sender@gmail.com", "Sender Name"))); // 发件人的地址和名字 message.addRecipient(Message.RecipientType.TO, new InternetAddress("receiver@gmail.com", "Receiver Name"))); // 收件人的地址和名字 // 设置邮件的主题 message.setSubject("Test Email"); // 创建数据输出流,用于写入邮件内容 BodyPart part = message.getBodyPart(); if (part instanceof MimeBodyPart) { OutputStream os = ((MimeBodyPart) part).getOutputStream(session); // 写入邮件内容 String emailContent = "Dear Receiver,\n\nThis is a test email sent from Java using the Socket API.\n\nThank you for your time.\n\nBest, Sender Name"; writer(os, emailContent)); os.close(); } Transport.send(message); } private static void writer(OutputStream os, String content) throws IOException { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")))); // 创建字符流写入 writer.write(content); writer.flush(); // 清空缓冲区,确保数据立即发送出去 } } ``` 2. **服务器**:接收文件 ```java import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class FileServer { public static void main(String[] args) throws Exception { // 创建ServerSocket监听端口 ServerSocket server = new ServerSocket(8001); // 设置服务器端口,可以自行修改 System.out.println("File Server listening on port 8001..."); // 进入接收客户端连接的循环 while (true) { Socket client = server.accept(); // 监听到客户端连接请求后接受连接 System.out.println("Connection accepted from " + client.getInetAddress() + ":" + client.getPort()); // 打印已接受连接的客户端IP地址和端口 // 创建数据输入流,用于读取客户端发送的数据 BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()))); String inputLine; while ((inputLine = reader.readLine()) != null)) { System.out.println("Received: " + inputLine)); // 打印接收到的客户端数据 // 处理这里,例如将数据写入文件 // ... } // 关闭数据输入流和Socket连接 reader.close(); client.close(); } } } ``` 以上案例展示了Java Socket API在客户端发送邮件、服务器接收文件等场景中的应用。 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 Java网络编程:Socket通信案例分析 Java网络编程中的Socket通信是一种基于TCP/IP协议的双向通信方式。下面我们将通过一个简单的案例,来剖析Socket通信的具体操作和流程。 **案例:客户端向服务器 深碍√TFBOYSˉ_/ 2024年09月18日 14:36/ 0 赞/ 12 阅读
相关 网络编程问题:Java socket通信案例 Java Socket通信是一种基于TCP/IP协议的双向数据传输方式。以下是一个简单的Socket通信案例: 1. 创建Server端: ```java import ja 傷城~/ 2024年09月18日 13:03/ 0 赞/ 7 阅读
相关 Java反射API的深入理解和应用案例 Java反射API是一种强大的工具,它允许我们在运行时检查类、字段和方法的信息。以下是深入理解反射API以及应用案例的详细讲解: 1. **概念理解**: - 类:Ja ゝ一纸荒年。/ 2024年09月17日 01:12/ 0 赞/ 16 阅读
相关 Java网络编程:Socket通信案例分析 在Java中,Socket是一种用于在客户端和服务器之间建立双向通信的API。下面将通过一个简单的Socket通信案例进行分析。 1. **创建Socket对象**: 痛定思痛。/ 2024年09月16日 23:39/ 0 赞/ 17 阅读
相关 Java网络编程中的socket通信问题案例 在Java网络编程中,Socket是一种API,它允许两个进程通过网络进行交互。以下是一个简单的Socket通信问题案例: 案例:两人电脑通过互联网进行文件传输 1. ** 迈不过友情╰/ 2024年09月16日 15:03/ 0 赞/ 13 阅读
相关 网络编程:Java Socket API客户端程序开发案例 在Java中,Socket API被用来创建客户端与服务器之间的连接。以下是一个简单的Socket客户端程序开发案例: 1. **创建Socket对象**: ```java 今天药忘吃喽~/ 2024年09月12日 10:39/ 0 赞/ 14 阅读
相关 网络编程:Java Socket API的理解与应用案例 Java Socket API是Java平台提供的一种用于网络通信的API。它包括Socket类、ServerSocket类等,用于建立TCP连接,进行数据传输。 以下是一些 亦凉/ 2024年09月11日 16:51/ 0 赞/ 15 阅读
相关 Java的Socket网络编程 Java 网络编程是实现网络通信的重要技术,它可以帮助我们实现像聊天室、远程调用、下载、上传等网络应用。Java 网络编程是基于 TCP/IP 协议实现的,在 Java 中,可 客官°小女子只卖身不卖艺/ 2023年10月15日 10:48/ 0 赞/ 16 阅读
相关 Java的Socket网络编程 最近做一个手机APP项目,要用到TCP Socket。因为我不会Android或IOS的原生开发,所以选择了uni-app这个里用HTML5技术做APP的技术框架,但uni-a 朱雀/ 2023年03月13日 13:53/ 0 赞/ 131 阅读
还没有评论,来说两句吧...