- 浏览: 93468 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
snow8261:
new的对象,满足逃逸分析的不会逃逸的对象才会放在栈里,其他都 ...
Java中栈溢出解决办法 -
Champion_93:
...
滚动图片,滚动文字,滚动任何东西 -
jojo_java:
<div class="quote_title ...
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 633http://blog.csdn.net/about58238 ... -
配置solr
2012-11-07 09:27 0<?xml version="1.0&q ... -
Clear Special character
2012-11-05 09:33 611public static String[] an ... -
List在foreach时删除元素快速失败
2011-07-08 16:13 2249package collection; impor ... -
Eclipse+CDT+MinGW+Qt开发环境搭建
2010-09-17 17:25 1899Eclipse+CDT+MinGW+Qt开发环境搭建下载软件 ... -
Java中栈溢出解决办法
2010-09-17 10:42 2730由于java自动分配与拾取内存空间,我们无法用动态分配堆栈的大 ... -
Swing JFrame全屏
2010-09-11 21:44 2032import java.awt.DisplayMode; i ... -
分享一个MyEclipse的注册机
2010-06-21 09:05 631package test; import java.io ... -
ReadWriteLock
2010-04-21 15:20 852public final class ReadWriteLoc ... -
FontTest
2010-02-08 11:14 761package others; import java. ... -
图片加载器
2009-06-01 13:07 1029import javax.swing.Icon; impor ... -
关于权限管理的思考
2009-04-29 14:00 767public class Main { publi ... -
MessageQueue实现
2009-04-07 13:40 861package me2.jojo.MessageQueue; ... -
RMI 应用
2009-03-30 15:00 885import java.rmi.Remote; import ... -
Dom4J使用(Xpath)
2009-03-27 18:13 1056import java.io.File; import jav ... -
获取IP地址的位置
2009-03-27 17:02 820public class SearchIP { pu ... -
Log4j配置
2009-03-27 16:55 811log4j.rootLogger = debug,A1,R ... -
读取Properties文件
2009-03-27 16:52 933import java.io.File; import jav ... -
java.text包中的Formatter使用
2009-03-27 16:44 1209import java.text.MessageFormat; ...
相关推荐
Java Socket实例(Server+Client),分别运行这两个实例,就可以在Client端输入字符,查看在Server端实时接收的字符
kettle rest 接口 请求实例,rest client 登陆,获取解释token,保存token,批量、单个请求接口,json交互
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
3、配置window操作系统环境变量(新建以下两个变量) 此电脑(右键)→属性→高级系统设置→环境变量→系统环境变量→新建 变量名:NLS_LANG 变量值: AMERICAN_AMERICA.ZHS16GBK 变量名:TNS_ADMIN 变量值:D:\APP...
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
分别在两台网络主机上运行Server和Client,Server部分以 e:\temp\root\为根目录,Client部分以e:\temp\local\为本地目录,可以实现在Server和Client之间上传和下载文件的能够。 本实例还不是很完善,基本功能已经...
该项目主要包含了一个springcloud框架中的服务注册与服务发现的常用框架的eureka的实例,共包含eureka-client和eureka-server两个模块,打开项目,先启动eureka-server项目,通过localhost:端口便可访问eureka-...
Java RIM实例,两个工程,一个Server一个Client,直接导入Eclipse可以直接运行
本实例共有两个类一个是server类为服务器类 一个是client类为客户端类 先启动server类 然后在启动client类 可以自动向服务器类写入数据
需求分析主要 解决两个问题: 内容要求。调查应用系统用户所需要操作的数据,决定在数据库中存储什么 数据。 处理要求。调查应用系统用户要求对数据进行什么样的处理,理清数据库中 各种数据之间的关系。 解决这
使用时,台式机(通信方1,不一定...两个exe文件需位于同一个局域网(比如校园网)下才能通信,UDPClient_Server.exe(即UDPClient_A)通信端口为6379,UdpClient_B.exe通信端口为6380。具体端口可以在解决方案中更改。
本资源介绍一个简单的使用winsock套接字进行网络通信的实例。客户机和服务器采用面向连接的传输协议tcp。实例将有助于阐明面向连接的交互中的细节问题,展示套接字调通的次序,以及客户机调用与服务器调用之间的区别...
Mina长连接短连接实例包含Minaclient工程和MinaHost工程,另外还有几个文档,相信对理解这两个工程有很大的帮助
Webservice实例,含两种客户端的写法,并且测试测功,对于初学者是个不错的选择。
实例 1 人事管理系统 通过前面管理信息系统基础和 PowerBuilder 基础学习 我们初步掌握了使用 PowerBuilder 进行信息系统开发的基本知识。下面将通过一个个实例来说明如何... 解决这两个问题的时候 程序编制人员需要
两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology 文档。 P2P视频技术源码(含开发文档) 目前的协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求的长度不定. 请求...