安卓Socket开发注意事项

如果要在安卓app里用到Socket通信,要满足:

1、在写代码的activity里import进Socket相关的包,这个很easy,如果你不知道要import什么包,也可以先不指定,可       以直接写例如"Socket sokt = new Socket();"这样的话,由于没有导入Socket的package,所以编译器会自动提示         你需要import某个包,然后按照提示点就ok了。

2、修改项目的"mamanifest.xml",这一点很容易被人忽视,尤其是初次在安卓里用Socket的童鞋,竟然会一头雾               水“我代码没问题,就是不知道为何运行不对?!!”网上很多教程都教你怎么在安卓里写Socket代码,很少有人         提出要设置manifest.xml才能开启安卓app网络权限,过程如下:

      2.1双击选择AndroidManifest.xml

            

      2.2在<manifest>标签后加入<uses-permission android:name="android.permission.INTERNET" />这句话,如下图             所示

            

完成上述两步之后,就可以在安卓app里用到internet权限,使用Socket了!


代码可以参考下面的:

//申请Socket相关的变量
String Serverip = "172.18.8.124";
int Serverport = 9050;
static Socket server;

//在发送/接收数居前,先建立socket链接
server = new Socket(Serverip, Serverport);

//发送内容(字符串s)
public void send(String s) 
{
	PrintWriter out = null;
	try 
 	{
		out = new PrintWriter(server.getOutputStream());
	} 
	catch (IOException e) 
	{
		e.printStackTrace();
	}
	out.print(s);
	out.flush();
}

//接收内容(存入字符串line)
public void client_output() throws UnsupportedEncodingException, IOException
{
	BufferedReader in = null;
	in = new BufferedReader(new InputStreamReader(server.getInputStream(), "GB2312"));
	String line = null;
	line = in.readLine();	
}


原文地址:https://www.cnblogs.com/exlsunshine/p/3775086.html