当前位置:编程学习 > JAVA >>

socket

我在eclipse下 java socket访问unix 下c写的socket 哪边是服务端接收到是乱码
我就把eclipse下的字符集全部改成UTF-8可还是不行


我把工程拷贝到我的myeclipse下 传过去的报文就是好的 很纠结 eclipse哪个地方难道还没有设置吗
代码如下:
public static void main(String[] args) {
Socket s  = null;
try {

// 创建通讯并且和主机Rock连接
Socket cSocket = new Socket("192.168.0.250", 8809);
// 打开这个Socket的输入/输出流
DataOutputStream os = new DataOutputStream(cSocket.getOutputStream());
DataInputStream is = new DataInputStream(cSocket.getInputStream());
String para="11117000011111111111111111001&6509910001&001&我测试192.168.01.106&";//699665CAABD7CBC4
String sMess = para;
int len = sMess.length();
String len_str = String.valueOf(len);
System.out.println("总长度 =" + len);
int len_str_len = len_str.length();
for (int i = 0; i < 4 - len_str_len; i++) {
len_str = "0" + len_str;
}
System.out.println("传输报文=" + para + "\n");
String sSend = new String(sMess.getBytes("gbk"), "GB2312");
System.out.println("传输报文=" + sSend + "\n");
String responseline;
byte[] buf = (len_str + "\n").getBytes();
os.write(buf);
os.flush();
buf = (sSend + "\n").getBytes();
os.write(buf);
os.flush();
responseline = is.readLine();
os.close();
is.close();
cSocket.close();
String sStr = new String(responseline.getBytes("ISO-8859-1"),"GB2312");

System.out.println("  结果 = "+sStr );

} catch (Exception e) {
e.printStackTrace();
}
}

--------------------编程问答-------------------- http://blog.csdn.net/jianw2007/article/details/3930915 

试试
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,