e.printStackTrace();
}
}
protected void connectServerWithTCPSocket() {
Socket socket;
try {// 创建一个Socket对象,并指定服务端的IP及端口号
socket = new Socket(“192.168.1.32”, 1989);
// 创建一个InputStream用户读取要发送的文件。
InputStream inputStream = new FileInputStream(“e://a.txt”);
// 获取Socket的OutputStream对象用于发送数据。
OutputStream outputStream = socket.getOutputStream();
// 创建一个byte类型的buffer字节数组,用于存放读取的本地文件
byte buffer[] = new byte[4 * 1024];
int temp = 0;
// 循环读取文件
while ((temp = inputStream.read(buffer)) != -1) {
// 把数据写入到OuputStream对象中
outputStream.write(buffer, 0, temp);
}
// 发送读取的数据到服务端
outputStream.flush();
/** 或创建一个报文,使用BufferedWriter写入,看你的需求 **/
// String socketData = “[2143213;21343fjks;213]”;
// BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
// socket.getOutputStream()));
// writer.write(socketData.replace(“\n”, " ") + “\n”);
// writer.flush();
/************************************************/
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
服务器端简单实现:
[java]view plaincopy
print?
publicvoidServerReceviedByTcp(){
//声明一个ServerSocket对象
ServerSocketserverSocket=null;
try{
//创建一个ServerSocket对象,并让这个Socket在1989端口监听
serverSocket=newServerSocket(1989);
//调用ServerSocket的accept()方法,接受客户端所发送的请求,
//如果客户端没有发送数据,那么该线程就停滞不继续
Socketsocket=serverSocket.accept();
//从Socket当中得到InputStream对象
InputStreaminputStream=socket.getInputStream();
bytebuffer[]=newbyte[1024*4];
inttemp=0;
//从InputStream当中读取客户端所发送的数据
while((temp=inputStream.read(buffer))!=-1){
System.out.println(newString(buffer,0,temp));
}
serverSocket.close();
}catch(IOExceptione){
e.printStackTrace();