android端对端通信,一个服务器,多个Client。本来是想把自己的电脑跑服务器程序,关了防火墙也连接不上。发现校内网大部分采取DHCP,但我ifconfig发现idAdrress一直没有变,怎么回事?校内网大部分采取NAT技术,在专用网络内部使用专用IP地址,而仅在连接到因特网的路由器使用全球IP地址。所以不能够当作服务器来使用。 本地的java程序,本来打算只是测试一下能不能和client联通,client为android studio编写的简单demo。
import java.net.*; import java.io.*; public class chat{  // private PrintWriter write;  // private BufferedReader read;//静态方法不能引用非静态变量BufferedReade   //try模块以后再写 好多错误  public static void main(String[] args) throws IOException{       ServerSocket s=new ServerSocket(2000);       System.out.println("服务器等待连接....");while(true){       Socket socket=s.accept();//必须有一个服务器,两个客户端的IP是变动的,没有中介无法连接       System.out.println("服务器已连接");       BufferedReader  read;        PrintWriter  write;      read = new BufferedReader(new InputStreamReader(socket.getInputStream()));       write = new PrintWriter(new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())),true);        String line=read.readLine();             System.out.println(line);             write.println(line);read.close();write.close();socket.close();}//无法访问的语句?:write.close();  内存不能关闭  循环好多次?     }}

客户端为:`import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class MainActivity extends AppCompatActivity {
private TextView textView;

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    textView=(TextView)findViewById(R.id.show);    try {        Socket socket=new Socket("172.28.59.107",2000);        BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));        String line=bufferedReader.readLine();        textView.setText(line);        socket.close();    } catch (IOException e) {        e.printStackTrace();    }}

}
`

更多相关文章

  1. android、apple PUSH 异同比较
  2. Android(安卓)流方式发送XML数据
  3. Android(安卓)客户端与服务器交互方式
  4. java与VC通信-socket
  5. 组播屏幕共享、Android屏幕共享开发小结
  6. Android(安卓)持续集成实践(一)——从0开始搭建 Gitlab 服务器
  7. 服务器端和客户端的上传代码
  8. android登录tomcat服务器并查找数据库的内容
  9. root 后的android 无线传屏(服务器端与客户端)

随机推荐

  1. Android根据所设置的textSize获取字体高
  2. Android:Activity(三):启动其他Activity
  3. 进程内服务Service(SimpleRandomServiceD
  4. Android(安卓)游戏框架 libgdx 学习笔记
  5. listview(1、BaseAdapter)
  6. phonegap+jquerymobile开发android的心得
  7. Android(安卓)4.4中的距离/接近传感器 P-
  8. JobIntentService与IntentService的区别
  9. Android入门笔记 - 界面开发 - ProgressD
  10. Android搜索关键字高亮显示