前几天需要写个android局域网通讯,首先就是想到的就是socket通讯了,不说了开始吧。
在这里,由于我们需要的是在局域网的通讯,所以我们先得写一个socket客户端吧。所以我就以一个app作为服务端一个作为客户端。
服务端
我们在以手机建立服务端,但是为了让其他手机可以连入该服务端进行通讯,我们必须获得该手机的WiFi的 ip 地址吧(不要说还不知道socket通讯的基础哟)。
/**
* 得到wifi连接的IP地址
*
* @param context
* @return
*/
public String getWifiIP(Context context) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddr = wifiInfo.getIpAddress();
String ipStr = int2string(ipAddr);
return ipStr;
}
这里我们必须要把得到的ip地址给公布出去,这样其他人才能连接呀。所以我们就把它显示在一个 TextView 吧。
然后我们就开始建立我们的服务端吧,这里我们新起一个线程来建立ServerSocket:
public class SendThread extends Thread {
@Override
public void run() {
super.run();