首页 技术 正文
技术 2022年11月21日
0 收藏 321 点赞 4,279 浏览 1179 个字

用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();

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,917
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,442
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,255
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,068
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,700
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,741