- 浏览: 96457 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
snow8261:
new的对象,满足逃逸分析的不会逃逸的对象才会放在栈里,其他都 ...
Java中栈溢出解决办法 -
Champion_93:
...
滚动图片,滚动文字,滚动任何东西 -
jojo_java:
wzq110120 写道哈哈,,,,w3c的例子
呵呵,是呀
xml+css显示数据 -
wzq110120:
哈哈,,,,w3c的例子
xml+css显示数据 -
jojo_java:
鸟哥哥 写道jojo_java 写道鸟哥哥 写道怎么可能
? ...
禁止查看源文件
[code="java"]import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
private static final String ip = "www.google.com";
private static final int port = 80;
public void start() {
try {
Socket socket = new Socket(ip, port);
OutputStream out = socket.getOutputStream();
out.write(getString().getBytes());
socket.shutdownOutput();
InputStream input = socket.getInputStream();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
byte[] buff = new byte[1024];
int len = -1;
while ((len = input.read(buff)) != -1) {
buffer.write(buff, 0, len);
}
System.out.println(buffer.toString());
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private String getString() {
StringBuffer buffer = new StringBuffer();
buffer.append("GET / HTTP/1.1\r\n");
buffer.append("Accept: */*\r\n");
buffer.append("Accept-Language: zh-cn\r\n");
buffer.append("Accept-Encoding: gzip, deflate\r\n");
buffer.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n");
buffer.append("Host: localhost\r\n");
buffer.append("Connection: Keep-Alive\r\n\r\n");
return buffer.toString();
}
public static void main(String[] args) {
new Client().start();
}
}
[code="java"]/**
* Copyright: Copyright (c) 2007
* <br>
* Company: Digifun
* <br>
* Date: Jan 6, 2010
*/
package navy.net;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
/**
* Description:<br>
*
* @author HuangShuzhen
* @version 0.1
*/
public class Client
{
private ByteBuffer buffer = ByteBuffer.allocate(1024);
private SocketChannel channel;
private Selector selector;
SocketAddress address;
private boolean isRun = true;
private void start (String host, int port)
{
try
{
channel = SocketChannel.open();
channel.configureBlocking(false);
address = new InetSocketAddress(host, port);
channel.connect(address);
selector = Selector.open();
channel.register(selector, SelectionKey.OP_CONNECT);
while (isRun)
{
if (selector.select() > 0)
{
Iterator<SelectionKey> it = selector.selectedKeys().iterator();
while (it.hasNext())
{
SelectionKey key = it.next();
it.remove();
if (key.isConnectable())
{
System.out.println("conn");
channel.register(selector, SelectionKey.OP_READ | SelectionKey.OP_WRITE);
// 正在建立连接
if (channel.isConnectionPending())
{
// 完成连接
channel.finishConnect();
}
}
else if (key.isReadable())
{
System.out.println("--------------------------read-------------------");
read(key);
}
else if (key.isWritable())
{
System.out.println("write");
write(getHeader());
}
}
}
}
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
private byte[] read (SelectionKey key)
{
try
{
int lenght = channel.read(buffer);
System.out.println(lenght);
if (lenght > 0)
{
byte[] data = new byte[lenght];
buffer.flip();
buffer.get(data);
System.out.println(new String(data));
buffer.compact();
buffer.clear();
}else if(lenght ==-1){
isRun = false;
}
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
private byte[] write (String content)
{
ByteBuffer src = ByteBuffer.wrap(content.getBytes());
try
{
channel.write(src);
channel.register(selector, SelectionKey.OP_READ);
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
private String getHeader ()
{
StringBuffer buffer = new StringBuffer();
buffer.append("GET /navy/ HTTP/1.1\r\n");
buffer.append("Accept: */*\r\n");
buffer.append("Accept-Language: zh-cn\r\n");
buffer.append("Accept-Encoding: gzip, deflate\r\n");
buffer.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n");
buffer.append("Host: \r\n");
buffer.append("Connection: Keep-Alive\r\n\r\n");
return buffer.toString();
}
public static void main (String[] args)
{
Client client = new Client();
client.start("www.google.com", 80);
// while(true);
}
private static void print (ByteBuffer buffer)
{
System.out.println("-----------------------------");
System.out.println("position:" + buffer.position());
System.out.println("limit:" + buffer.limit());
System.out.println("capacity:" + buffer.capacity());
System.out.println("-----------------------------");
}
}
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
private static final String ip = "www.google.com";
private static final int port = 80;
public void start() {
try {
Socket socket = new Socket(ip, port);
OutputStream out = socket.getOutputStream();
out.write(getString().getBytes());
socket.shutdownOutput();
InputStream input = socket.getInputStream();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
byte[] buff = new byte[1024];
int len = -1;
while ((len = input.read(buff)) != -1) {
buffer.write(buff, 0, len);
}
System.out.println(buffer.toString());
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private String getString() {
StringBuffer buffer = new StringBuffer();
buffer.append("GET / HTTP/1.1\r\n");
buffer.append("Accept: */*\r\n");
buffer.append("Accept-Language: zh-cn\r\n");
buffer.append("Accept-Encoding: gzip, deflate\r\n");
buffer.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n");
buffer.append("Host: localhost\r\n");
buffer.append("Connection: Keep-Alive\r\n\r\n");
return buffer.toString();
}
public static void main(String[] args) {
new Client().start();
}
}
[code="java"]/**
* Copyright: Copyright (c) 2007
* <br>
* Company: Digifun
* <br>
* Date: Jan 6, 2010
*/
package navy.net;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
/**
* Description:<br>
*
* @author HuangShuzhen
* @version 0.1
*/
public class Client
{
private ByteBuffer buffer = ByteBuffer.allocate(1024);
private SocketChannel channel;
private Selector selector;
SocketAddress address;
private boolean isRun = true;
private void start (String host, int port)
{
try
{
channel = SocketChannel.open();
channel.configureBlocking(false);
address = new InetSocketAddress(host, port);
channel.connect(address);
selector = Selector.open();
channel.register(selector, SelectionKey.OP_CONNECT);
while (isRun)
{
if (selector.select() > 0)
{
Iterator<SelectionKey> it = selector.selectedKeys().iterator();
while (it.hasNext())
{
SelectionKey key = it.next();
it.remove();
if (key.isConnectable())
{
System.out.println("conn");
channel.register(selector, SelectionKey.OP_READ | SelectionKey.OP_WRITE);
// 正在建立连接
if (channel.isConnectionPending())
{
// 完成连接
channel.finishConnect();
}
}
else if (key.isReadable())
{
System.out.println("--------------------------read-------------------");
read(key);
}
else if (key.isWritable())
{
System.out.println("write");
write(getHeader());
}
}
}
}
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
private byte[] read (SelectionKey key)
{
try
{
int lenght = channel.read(buffer);
System.out.println(lenght);
if (lenght > 0)
{
byte[] data = new byte[lenght];
buffer.flip();
buffer.get(data);
System.out.println(new String(data));
buffer.compact();
buffer.clear();
}else if(lenght ==-1){
isRun = false;
}
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
private byte[] write (String content)
{
ByteBuffer src = ByteBuffer.wrap(content.getBytes());
try
{
channel.write(src);
channel.register(selector, SelectionKey.OP_READ);
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
private String getHeader ()
{
StringBuffer buffer = new StringBuffer();
buffer.append("GET /navy/ HTTP/1.1\r\n");
buffer.append("Accept: */*\r\n");
buffer.append("Accept-Language: zh-cn\r\n");
buffer.append("Accept-Encoding: gzip, deflate\r\n");
buffer.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n");
buffer.append("Host: \r\n");
buffer.append("Connection: Keep-Alive\r\n\r\n");
return buffer.toString();
}
public static void main (String[] args)
{
Client client = new Client();
client.start("www.google.com", 80);
// while(true);
}
private static void print (ByteBuffer buffer)
{
System.out.println("-----------------------------");
System.out.println("position:" + buffer.position());
System.out.println("limit:" + buffer.limit());
System.out.println("capacity:" + buffer.capacity());
System.out.println("-----------------------------");
}
}
发表评论
-
二维码生成
2012-12-05 13:12 696http://blog.csdn.net/about58238 ... -
配置solr
2012-11-07 09:27 0<?xml version="1.0&q ... -
Clear Special character
2012-11-05 09:33 645public static String[] an ... -
List在foreach时删除元素快速失败
2011-07-08 16:13 2307package collection; impor ... -
Eclipse+CDT+MinGW+Qt开发环境搭建
2010-09-17 17:25 1945Eclipse+CDT+MinGW+Qt开发环境搭建下载软件 ... -
Java中栈溢出解决办法
2010-09-17 10:42 2769由于java自动分配与拾取内存空间,我们无法用动态分配堆栈的大 ... -
Swing JFrame全屏
2010-09-11 21:44 2067import java.awt.DisplayMode; i ... -
分享一个MyEclipse的注册机
2010-06-21 09:05 656package test; import java.io ... -
ReadWriteLock
2010-04-21 15:20 878public final class ReadWriteLoc ... -
FontTest
2010-02-08 11:14 789package others; import java. ... -
图片加载器
2009-06-01 13:07 1065import javax.swing.Icon; impor ... -
关于权限管理的思考
2009-04-29 14:00 802public class Main { publi ... -
MessageQueue实现
2009-04-07 13:40 895package me2.jojo.MessageQueue; ... -
RMI 应用
2009-03-30 15:00 907import java.rmi.Remote; import ... -
Dom4J使用(Xpath)
2009-03-27 18:13 1082import java.io.File; import jav ... -
获取IP地址的位置
2009-03-27 17:02 848public class SearchIP { pu ... -
Log4j配置
2009-03-27 16:55 842log4j.rootLogger = debug,A1,R ... -
读取Properties文件
2009-03-27 16:52 961import java.io.File; import jav ... -
java.text包中的Formatter使用
2009-03-27 16:44 1253import java.text.MessageFormat; ...
相关推荐
在"Mina server client实例"中,我们有两个核心组件:Mina Server和Mina Client。这两个组件通过Java的NIO进行通信,允许客户端与服务器之间高效地交换数据。 **Mina Server** Mina Server是服务端部分,负责监听...
在分布式大数据存储领域,HBase是一个非常重要的列式数据库,尤其在处理海量实时数据时表现卓越。本主题将深入探讨如何使用Java客户端API与HBase进行交互,包括集成Spring、MapReduce实例以及协处理器的使用。 首先...
在提供的压缩包中,有两个文件:SocketClient和SocketServer。这些很可能是两个C#项目的源代码文件,一个用于实现服务器端的功能,另一个实现客户端功能。客户端项目通常包含一个连接到服务器的方法,以及发送和接收...
本篇将详细解析"C# Socket通信两个最简单的实例",帮助初学者快速理解Socket通信的基本原理和实现方法。 首先,我们要明确Socket是TCP/IP协议栈中的一个接口,它允许应用程序通过网络发送和接收数据。C#中的System...
在这个"SocketClient通讯实例"中,我们主要探讨的是如何使用C#语言在Visual Studio 2013环境下,基于.NET Framework 4.0开发一个Socket客户端应用。 首先,让我们了解什么是Socket。Socket在计算机网络中是一种进程...
在本实例中,我们将会看到如何利用这两个组件来创建用户界面。 接下来,我们要讨论Spring框架的角色。Spring框架能够管理应用中的bean,包括SmartClient的客户端组件以及服务器端的服务。通过配置Spring的XML文件,...
在这个例子中,MainActivity创建了一个UDPClient实例,并在一个新线程中运行。当用户点击“连接”按钮时,调用ConnectServer方法启动UDP客户端。当用户点击“发送”按钮时,调用SendText方法向服务器发送消息。 ...
这两个组件是FTP通信的核心部分。 FTP服务器是接收并处理客户端请求的系统,允许用户上传、下载文件或执行其他文件管理操作。C#中的FTP服务器实现通常涉及使用System.Net.FtpServer库,它提供了丰富的API来创建...
在IT行业中,TCP(传输控制协议)是一种广泛用于网络通信的协议,因为它提供了一种可靠的、面向...通过实践TcpServerDemo2和ClientDemo2这两个示例,你可以深入理解TCP通信的工作原理,并具备实际编写相关代码的能力。
在C#编程环境中,开发客户端应用程序常常涉及到文件的下载与处理。本实例将重点讨论如何使用C#客户端来下载文件并进行...通过结合这两个关键点,开发者可以轻松地实现在C#应用程序中处理网络文件的下载与解压缩需求。
在你提供的实例中,有"Host"和"Client"两个部分。"Host"是服务端,它负责承载和运行服务,让服务对外可用。"Client"则是客户端,用于调用服务并接收响应。 **四、运行流程** 1. **启动Host**:运行Host程序,它将...
在这个实例中,我们有两个关键组件:Server和Client,它们通过Socket进行交互。下面将详细解释Java Socket的工作原理、如何创建Server和Client以及如何在两个端点之间传递数据。 1. **Java Socket基础** Java ...
TcpClient主要包含两个关键组件:NetworkStream用于数据传输,和TcpClient本身负责建立和管理连接。使用TcpClient时,我们需要先创建一个新的TcpClient实例,然后通过Connect方法连接到远程服务器,最后通过...
本篇文章将深入探讨C#中SocketServer和SocketClient通信实例的知识点。 **一、Socket介绍** Socket是网络通信的基本单元,它提供了进程间通信(IPC)和网络间通信的能力。在C#中,Socket类位于System.Net.Sockets...
这个实例包括了RMI的Server和Client工程,让我们来深入探讨一下这两个关键组成部分。 **1. RMI Server** RMI Server是RMI体系结构的核心部分,它负责暴露远程对象。在Java中,我们首先需要创建一个实现了`java.rmi....
【WCF简单实例】本文将引导读者通过一个简单的WCF(Windows Communication Foundation)应用实例,了解如何构建并运行一个基于WCF的服务。WCF是一种微软提供的面向服务的通信框架,用于构建分布式应用程序,支持跨...
在本项目中,我们有两个主要的文件:`Client`和`Server`。`Client`文件是客户端程序,它的任务是连接到服务器并发送请求;而`Server`文件是服务器程序,它的任务是监听客户端的连接请求,并对请求进行响应。 客户端...
这里的"Web服务实现:两个数相加"是指利用Web服务技术来创建一个简单的功能,即接收两个数字并返回它们的和。这个实例通过Java编程语言实现,并使用Eclipse集成开发环境进行开发。Web服务允许不同平台和语言的应用...
Socket是网络通信中的一个端点,它允许两个远程系统通过网络交换数据。在Java中,Socket类代表客户端,ServerSocket类代表服务器端。当Client创建一个Socket实例连接到Server的特定端口时,服务器端会使用...
【描述】:“内附有两个工程 简单的可运行的Demo 适合初学者 (附:本人也是第一次弄)” 这个描述表明,你将获得两个不同的工程实例,这两个实例都是可以运行的。对于初学者来说,这是非常有价值的,因为你可以...