安卓怎么使用socket作为客户端进行通信
时间: 2023-10-02 13:03:38 浏览: 64
1. 在AndroidManifest.xml文件中添加网络权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
2. 在activity中创建一个新线程来处理socket通信:
```
public class MainActivity extends AppCompatActivity {
private Socket socket;
private static final int SERVER_PORT = 12345;
private static final String SERVER_IP = "192.168.1.100"; //服务器IP地址
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
try {
socket = new Socket(SERVER_IP, SERVER_PORT);
//在这里进行数据的读写操作
//...
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
```
3. 进行数据读写操作:
```
//获取输入输出流
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
//写入数据
String data = "Hello World!";
outputStream.write(data.getBytes());
//读取数据
byte[] buffer = new byte[1024];
int len = 0;
String response = "";
while ((len = inputStream.read(buffer)) != -1) {
response += new String(buffer, 0, len);
}
Log.d("MainActivity", "response: " + response);
```
4. 关闭socket连接:
```
socket.close();
```