ServerSocketActivity代码例 : 1. 声明控件对象(略)
2. 获得控件对象(略)
3. 绑定事件(略)
4. 创建监听器对象
Publicvoid onClick(View v) {
NewServerThread().start();
}
//TCPserver
ClassServerThread extends Thread {
Publicvoid run () {
//声明一个serverSocket对象
ServerSocketserverSocket = null;
Try{
//创建serverSocket对象并在4567端口监听
serverSocket= new ServerSocket(4567);
//调用serverSocket的accept方法,接受客户端所发送的请求
Socketsocket = serverSocket.accept(); // 阻塞函数
//从socket当中得到inputstream对象
InputStreaminputStream = socket.getInputStream();
Bytebuffer [] new bute [1024 * 4];
Inttemp = 0 ;
//从inputStream当中读取客户端所发送的数据
While((temp = inputStream.read(buffer)) != -1) {
System.out,println(newString(buffer , 0 ,temp));
}
}catch (Execption e) {
e.printStackTrace();
}finally {
Try{
serverSocket.close();
}catch (IOExecption e) {
e.printStackTrace();
}
}
}
}
TCPClient代码例 :
Publicstatic void main (String [] args) {
Try{
//创建一个Socket对象,指定服务器端的ip地址和端口号
Socketsocket = new Socket("192.168.1.1" , 4567);
//使用InputStream读取硬盘上的文件
InputStreaminputStream = new FileInputStream("F://file/words.txt");
//从Socket上得到outputStream
outputStreamoutputStream = socket.getOutputStream();
Bytebuffer [] = new byte[4*1024];
Inttemp = 0;
//将inputStream的数据取出并写入到outputStream
While((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0 ,temp);
}
outpurStream.flush();
}catch (Execption e) {
e.printStackTrace();
}
}