package com.huawei.xbliuc.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class POP3Demo
{
private static String POP3Service = "pop.126.com";
private static String USERNAME = "username";
private static String PASSWORD = "password";
public static void main(String[] args)
{
get();
}
public static void get()
{
int POP3Port = 110;
Socket client = null;
try
{
//向POP3服务程序建立一个套接字连接
client = new Socket(POP3Service, POP3Port);
//创建一个BufferedReader对象,一遍从套接字中读取输出
InputStream is = client.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
//创建一个PrintWriter对象,以便向套接字中写入内容
OutputStream os = client.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
//显示通SMTP服务程序握手的过程
System.out.println("S:" + br.readLine());
System.out.println("UserName:" + POP3Demo.USERNAME);
System.out.println("S:" + br.readLine());
System.out.println("PassWord:" + POP3Demo.PASSWORD);
System.out.println("S:" + br.readLine());
pw.print("start");
String[] temp = br.readLine().split(" ");
int count = Integer.parseInt(temp[1]);//得到信箱中有多少封信件
//依次打印邮件的内容
for (int i = 1; i < count + 1; i++)
{
pw.print("retr" + i);
System.out.println("以下为第" + i + "封邮件的内容");
while (true)
{
String readLine = br.readLine();
System.out.println(readLine);
if (readLine.toLowerCase().equals("."))
{
break;
}
}
}
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (client != null)
{
try
{
client.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
VC++使用Socket2网络编程(绝版好书10本) IPv6 Network Programming.pdf Network_Programming_for_Microsoft_Windows_-2 Programming Winsock-Arthur Dumas.pdf TCPIP sockets in C-Practical Guide for Progr ...
socket编程 C++语言实现 模拟通讯通信 支持多线程
2. **客户端实现**: - **创建Socket**:客户端同样需要创建Socket。 - **连接服务器**:使用`connect()`函数向服务器发起连接请求,指定服务器的IP地址和端口号。 - **文件请求**:一旦连接建立,客户端可以向...
"C#多线程Socket开发" C#语言开发多线程Socket服务器端程序,实现一个服务器同时与多个客户端连接对话。这里,我们将详细讲解如何使用C#语言开发多线程Socket服务器端程序,实现一个服务器同时与多个客户端连接对话...
首先,我们需要包含相应的头文件`winsock2.h`和`ws2tcpip.h`,并链接`ws2_32.lib`库。然后,调用`WSAStartup()`初始化Winsock,接着创建Socket,可以选择TCP(面向连接)或UDP(无连接)协议。TCP提供可靠的数据传输...
socket 本地2进程通讯实例,已在ubuntu通过测试
插座2 添加到允许在 Ruby 中进行第 2 层原始数据包操作的本机 ... require_relative 'socket2.rb' # Create a layer-2 socket in a mostly familiar way sock = Socket . new ( Socket :: AF_PACKET , Socket :: SOCK_
SuperSocket服务端 1.用WinForm实现。 2.可以给客户端发送消息。 注意:nuget安装包SuperSocket 基于1.6.6.1、SuperSocket.Engine 基于1.6.6.1、log4net最新即可
SimpleSocket一个 用 C# 调用 Win Socket 2 的 程序 , 对 Win Socket 2 简单 的 调用用 C++ 对 Win Socket 2 简单的 包装 , 再用 C# 调用 。测试结果 可以达到 每秒请求数 2万 , 和 System.Net.Sockets Socket 一...
SocketTool是一款小巧实用且功能强大的TCP/UDP网络通讯调试工具,绿色免费且无需安装,通过它可以帮助你检查网络应用软件及硬件的通讯情况。 功能: 可以创建创建Socket服务器,创建UDP组播地址及端口,创建UDP ...
2. 连接服务器:`socket.Connect(new IPEndPoint(IPAddress.Parse("服务器IP"), 端口号));` 3. 发送数据:`socket.Send(Encoding.ASCII.GetBytes("要发送的数据"));` 4. 接收数据:`byte[] buffer = new byte[1024];...
2. **简单易用的API**:SuperSocket提供了一套简洁的API,使得开发者能够快速地构建自己的Socket服务,包括接收、发送数据以及处理客户端请求。 3. **可扩展性**:SuperSocket设计了插件式架构,允许开发者通过编写...
2. **创建TCP客户端**:输入目标服务器的IP地址和端口号,SocketTool可以主动发起连接,用于测试服务器的响应。同样,你可以在此模式下发送和接收数据。 3. **模拟UDP通信**:UDP(User Datagram Protocol)是一种...
**SuperSocket Socket C# 通讯详解** 在C#编程领域,网络通信是一个不可或缺的部分,而SuperSocket则是一个强大且易用的.NET Socket服务器框架。它为开发者提供了构建自定义网络应用服务的基础,使得处理TCP连接变...
"socket"和"socket2"等文件可能包含了基础的socket编程练习,而"Linux 网络编程"可能是一些更复杂的网络编程场景的实例。通过对这些文件的学习和实践,可以深入理解并掌握Linux环境下的Socket网络编程技术。
Socket 编程详解 在网络编程中,Socket 是一个基本概念, plays a crucial role in building network applications. 在 C# 中,Socket 编程是通过使用 System.Net.Sockets 命名空间中的类和方法来实现的。下面,...
2. 获取Socket:当需要建立连接时,从池中取出一个Socket,如果池为空,则创建新的Socket。可以采用线程安全的数据结构来存储Socket,以防止并发访问时的冲突。 3. 连接复用:连接完成后,将Socket放回池中,而不是...
SocketTool2.zip是一个用于Socket测试的工具包,主要用于进行单元连接测试。在计算机网络编程中,Socket是进程间通信的一种方式,特别是在分布式系统中,它提供了客户端与服务器端之间的通信接口。Socket通常被称为...
2. Socket接口:Linux提供了丰富的Socket API供程序员使用,如socket()、bind()、listen()、accept()、connect()、send()、recv()等,它们构成了Socket编程的核心。 二、创建Socket 1. socket()函数:用于创建一个...
2. **使用SuperSocket开发UDP应用** - SuperSocket的UDP支持允许开发者创建基于数据报的通信服务,处理单向或双向的数据传输。 - UDP应用可以利用SuperSocket的多线程处理和缓冲区管理机制,提高数据处理效率。 -...