java socket client
用tornado做了个socket server。无奈联调的人员对接不上。
于是撸出了以下demo
import java.io.*;
import java.net.*; public class SocketTest{
SocketTest(){}
void test()
{
try{
Socket requestSocket = new Socket("xxx.xxx.xxx.xxx", 60006);
OutputStream out = requestSocket.getOutputStream();
InputStream in = requestSocket.getInputStream(); byte[] bb = new byte[16] ;
for(int i =0;i<13;i++)
{
bb[i+3]=(byte)((int)'a'+i);
}
bb[0]=(byte)0x00;
bb[1]=(byte)0x0e;
bb[2]=(byte)0xaa;
bb[15]=(byte)0xfe;
System.out.println("client>"+new String(bb)); out.write(bb);
out.flush(); byte[] buffer = new byte[1024];
in.read(buffer);
String responseStr = new String(buffer);
System.out.println("server>"+responseStr); out.close();
in.close(); requestSocket.close();
}
catch(IOException ioException){
ioException.printStackTrace();
}
// catch(ClassNotFoundException classNot){
// System.err.println("data received in unknown format");
// } } public static void main(String args[])
{
SocketTest client = new SocketTest();
client.test();
}
}
既要:
1. linux 下编译执行的细节:
javac SocketTest.java
java SocketTest (不要 java SocketTest.class, 不然一大堆误导加麻烦)
2. 字节操作,在java里面用byte数组,不要担心(128~255)溢出。直接赋值即可。
byte b = (byte)254;
3. 从socket得到原始的输入输出流,不要再用其他包裹,否则会出现诡异的事情。
OutputStream out = requestSocket.getOutputStream();
InputStream in = requestSocket.getInputStream();
java socket client的更多相关文章
- JAVA Socket(多个客户同时连接,信息共享) client (java/ruby)
第一步 充分理解Socket 1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字" ...
- Java Socket网络编程Client端详解
此类实现客户端套接字(也可以就叫“套接字”).套接字是两台机器之间的通信端点. Socket client = new Socket(ip,port);//创建一个流套接字并将其连接到指定 IP 地址 ...
- Java设置Client Socket链接Server超时时间
Java设置Client Socket链接Server超时时间 学习了:http://blog.csdn.net/tterminator/article/details/52494141 http:/ ...
- JAVA通信系列一:Java Socket技术总结
本文是学习java Socket整理的资料,供参考. 1 Socket通信原理 1.1 ISO七层模型 1.2 TCP/IP五层模型 应用层相当于OSI中的会话层,表示层, ...
- java socket编程(li)
一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以 ...
- Java Socket长连接示例代码
SocketListenerPusher.java代码如下: import java.io.IOException; import java.net.InetSocketAddress; import ...
- java socket编程(网络编程)
一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...
- JAVA Socket 编程学习笔记(一)
1. Socket 通信简介及模型 Java Socket 可实现客户端--服务器间的双向实时通信.java.net包中定义的两个类socket和ServerSocket,分别用来实现双向连接的cli ...
- JAVA Socket超时浅析
JAVA Socket超时浅析 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的"终端".针对一个特定的连接,每台机器上都有一个"套接字&q ...
随机推荐
- js与php转换时间戳
php时间:1368524732 js代码: function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleStri ...
- Xcode pch文件问题
创建后需修改 Prefix Header Debug.Release 为:项目名称/PrefixHeader.pch/ #import <UIKit/UIKit.h>#import < ...
- iwebshop二次开发
1.iwebshop中写hello world ① 动作action方式 controllers目录下,然后创建text.php. <?php class Test extends IContr ...
- 1.Redis安装(转)
Redis的官网为: http://redis.io/. 1.Redis安装 redis的安装非常的简单,而且Redis并不依赖其他环境和标准库,很容易上手,这可能也是它流行的一个原因.这里为了测试方 ...
- linux下定时执行任务方法【转】
之前就转过一篇关于定时任务的文章,前俩天用,还的翻出来看!!!再转一次,备用,,需要的时候不用麻烦找! ----------------------------------------------- ...
- 关于yaf 框架的win安装
http://www.sunqinglin.cn/index.php/archives/329.html PHP windows下yaf框架的安装和配置 2014年10月28日 ⁄ PHP, 编程开发 ...
- Linux服务器管理: 系统的进程管理终止进程kill命令
在Linux中如何用kill终止进程: kill -l [root@localhost~]#kill -l 可以看到kill中有很多的 常用: -1 是重启一个进程 -9 是强制杀死进程 ...
- SWFUpload 2.5.0版 官方说明文档 中文翻译版
原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...
- StarWind的安装配置
将安装包拷贝到本地后,执行以下exe文件,默认下一步,直到安装完成. 需汉化版本则将language_chinese.xml文件拷贝到以下路径: C:\Program Files\StarWind S ...
- SQL Server数据库邮件配置
一.数据库邮件介绍 数据库邮件是从SQL Server数据库引擎中发送电子邮件的企业解决方案,通过使用数据库邮件,数据库应用程序可以向用户发送电子邮件.邮件中可以包含查询结果,还可以包含来自网络中任何 ...