用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的更多相关文章

  1. JAVA Socket(多个客户同时连接,信息共享) client (java/ruby)

    第一步 充分理解Socket 1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字" ...

  2. Java Socket网络编程Client端详解

    此类实现客户端套接字(也可以就叫“套接字”).套接字是两台机器之间的通信端点. Socket client = new Socket(ip,port);//创建一个流套接字并将其连接到指定 IP 地址 ...

  3. Java设置Client Socket链接Server超时时间

    Java设置Client Socket链接Server超时时间 学习了:http://blog.csdn.net/tterminator/article/details/52494141 http:/ ...

  4. JAVA通信系列一:Java Socket技术总结

    本文是学习java Socket整理的资料,供参考. 1       Socket通信原理 1.1     ISO七层模型 1.2     TCP/IP五层模型 应用层相当于OSI中的会话层,表示层, ...

  5. java socket编程(li)

    一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以 ...

  6. Java Socket长连接示例代码

    SocketListenerPusher.java代码如下: import java.io.IOException; import java.net.InetSocketAddress; import ...

  7. java socket编程(网络编程)

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  8. JAVA Socket 编程学习笔记(一)

    1. Socket 通信简介及模型 Java Socket 可实现客户端--服务器间的双向实时通信.java.net包中定义的两个类socket和ServerSocket,分别用来实现双向连接的cli ...

  9. JAVA Socket超时浅析

    JAVA Socket超时浅析 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的"终端".针对一个特定的连接,每台机器上都有一个"套接字&q ...

随机推荐

  1. C#----格式化字符串的操作

    class Program { static void Main(string[] args) { //DateTime dt = DateTime.Now; //Console.WriteLine( ...

  2. JSON FX

    https://github.com/mckamey/jsonfx-v1#svn/trunk/JsonFx/JsonFx.Json

  3. Construct Bounding Sphere

    点集的包围球 http://en.wikipedia.org/wiki/Bounding_sphere http://blogs.agi.com/insight3d/index.php/2008/02 ...

  4. iOS7以上图片模糊效果

    模糊后的效果 模糊后的效果 框架UIImage+BlurredFrame里的 applyLightEffectAtFrame方法 例如 bgImage = [bgImage applyLightEff ...

  5. tomcat 无法加载js和css 等静态文件的问题

    前段时间做了个网站,在本地tomcat测试都没有问题,但是部署到阿里云上之后,系统样式全没了.jsp等动态页面访问正常. 打开浏览器监控发现所有的css 和js 文件返回都是404 .直接访问单个的c ...

  6. git之https或http方式设置记住用户名和密码的方法

    https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --global credenti ...

  7. tamper绕WAF小结

    sqlmap有一些非常好的脚本,在如下的地址中你能够发现它们.使用svn检查 https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev 事实上,脚本的 ...

  8. ASP.NET MVC Razor语法

    ASP.NET MVC Razor语法 (一) 关于_ViewStart.cshtml文件     使用Razor模板引擎的话,会自动生成一个_ViewStart.cshtml文件.事实上,_View ...

  9. Linux服务器管理: 系统管理:系统资源查看

    vmstat 命令: 查看或监控系统资源 [root@localhostA1 ~]# vmstat procs -----------memory---------- ---swap-- -----i ...

  10. php 选择排序法

    private function demo(array $arr = array()){ $len = count($arr); if ($len == 1) return $arr; else fo ...