(1)serverSocket端的设计(可以不是一个项目)
public class SimpleServer
{
public static void main(String args[]) throws Exception
{
//服务器端采用端口3000提供服务,方便客户端连接时
ServerSocket ss=new ServerSocket(3000);
while(true)
{
Socket socket=ss.accept();
//输出流向Socket中输出数据,
OutputStream osOutputStream=socket.getOutputStream();
//采用数据流
osOutputStream.write("haha".getBytes());
osOutputStream.close();
ss.close();
}
}
}
(2)socket端的设计(即客户端的设计,必须是一个项目)
public class MainActivity extends ActionBarActivity {
private TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//textview组件用来接收数据的显示
text=(TextView) this.findViewById(R.id.text);
//新建一个线程,用来连接服务器端
new Thread()
{
@Override
public void run()
{
try {
Socket socket=new Socket("192.168.1.163",3000);
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String string=bufferedReader.readLine();
text.setText("来自服务器的数据:"+string);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
};
}.start();
}
(3)依旧是两个socket之间的通信,需要有use-permission 访问网络的权限,还要注意代码的编写方式!