資源簡介
實現(xiàn)了java socket編程基于tcp/ip協(xié)議的簡單服務端,客戶端通信,用于發(fā)送報文,接收解析報文。

代碼片段和文件信息
package?socket;
import?java.io.*;
import?java.net.*;
import?java.util.*;
/**
?*?客戶端
?*?@author?lw
?*
?*/
public?class?Client?{
private?Socket?client;
//報頭標識字段
public?static?Integer?RequestID=88;//長度為4字節(jié)
public?static?Integer?SequenceID=99;
public?static?Integer?PacketLength=0;
public?Client()?throws?UnknownHostException?IOException?{
client?=?new?Socket(“127.0.0.1“?7777);
BufferedOutputStream?bout=new?BufferedOutputStream(client.getOutputStream());?
//將報體字符串轉為字節(jié)流發(fā)送???????????????????
String?message=“你好,java“;????
byte[]?messages?=?message.getBytes(“utf-8“);???
PacketLength=4+4+4+messages.length;
//字段轉換
byte[]?bRequestID=SocketUtil.intToByte(RequestID);
byte[]?bSequenceID=SocketUtil.intToByte(SequenceID);
byte[]?bPacketLength=SocketUtil.intToByte(PacketLength);
System.out.println(“報文長度:“+PacketLength);
//合并字節(jié)數(shù)組
List?header?=?new?ArrayList();
header.add(bPacketLength);
header.add(bRequestID);
header.add(bSequenceID);
byte[]?headerByte=SocketUtil.sysCopy(header);
List?body?=?new?ArrayList();
body.add(headerByte);
body.add(messages);
byte[]?bytes=SocketUtil.sysCopy(body);
System.out.println(“--------開始往服務端寫數(shù)據(jù)-------“);??????????
bout.write(bytes);??????
bout.flush();????
bout.close();
client.close();
System.out.println(“--------數(shù)據(jù)寫入完畢------“);
}
public?static?void?main(String[]?args)?{
try?{
new?Client();
}?catch?(UnknownHostException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2012-11-13?23:47??socket\.classpath
?????文件????????382??2012-11-13?23:47??socket\.project
?????文件?????????88??2012-11-14?10:08??socket\.settings\org.eclipse.core.resources.prefs
?????文件????????629??2012-11-13?23:47??socket\.settings\org.eclipse.jdt.core.prefs
?????文件???????2648??2012-11-16?11:35??socket\bin\socket\Client.class
?????文件???????2686??2012-11-16?11:34??socket\bin\socket\Server.class
?????文件???????1631??2012-11-16?11:35??socket\bin\socket\SocketUtil.class
?????文件???????1740??2012-11-16?11:35??socket\src\socket\Client.java
?????文件???????2036??2012-11-16?11:34??socket\src\socket\Server.java
?????文件???????1765??2012-11-16?11:35??socket\src\socket\SocketUtil.java
?????目錄??????????0??2012-11-14?09:12??socket\bin\socket
?????目錄??????????0??2012-11-14?09:12??socket\src\socket
?????目錄??????????0??2012-11-14?10:08??socket\.settings
?????目錄??????????0??2012-11-14?09:12??socket\bin
?????目錄??????????0??2012-11-14?09:12??socket\src
?????目錄??????????0??2012-11-14?09:12??socket
-----------?---------??----------?-----??----
????????????????13906????????????????????16
評論
共有 條評論