关于Socket介绍,请参考大佬博客https://blog.csdn.net/u013782203/article/details/51289803,写的很细致,非常佩服大神能研究的这么透彻。
ClientSendActivity.java
package wifi.transfer;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.SequenceInputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import wifi.localinfo.GetConnectIP;
import wifi.localinfo.GetLocalActivity;
import com.example.swissarmy.R;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class ClientSendActivity extends Activity{
public static String ServerIP = "";//服务器地址
public static final int PORT = 8000;//服务器端口号
Button btn1, btn2, btn3, btn4, btn5, btn6, btn7;
EditText et;
TextView tv;
public static File selectFile = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.socket_client_send);
btn1 = (Button) findViewById(R.id.client_send_file_button);
btn4 = (Button) findViewById(R.id.client_select_file_button);
btn6 = (Button) findViewById(R.id.client_send_message_button);
tv = (TextView) findViewById(R.id.client_send_filepath_textview);
et = (EditText) findViewById(R.id.client_send_message_edittext);
TextView tvTitle =(TextView) findViewById(R.id.Titletext);
tvTitle.setText("客户端发送信息");
ImageView back = (ImageView) findViewById(R.id.Titlehome);
back.setOnClickListener(new ImageView.OnClickListener() {// 创建监听
public void onClick(View v) {
finish();
}
});
btn1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
ServerIP = GetConnectIP.getOneIp();
String filePath = selectFile.toString();
File tempFile =new File(filePath.trim());
String fileName = tempFile.getName();
new ClientSendFileThread(ServerIP, fileName, filePath).start();
Toast.makeText(getApplicationContext(), ServerIP, Toast.LENGTH_SHOR