【问题标题】:Android socket program安卓套接字程序
【发布时间】:2019-10-31 07:03:00
【问题描述】:

我使用socket 创建了一个简单的android 项目,它将String 发送到在我的桌面上运行的server。我检查了它运行良好的java代码。甚至我的 android Activity 运行顺利。调用onclick() 方法的连接。但是当我试图在我的 android 设备上运行时,我在服务器上什么也没有,也没有收到任何错误。 感谢您的帮助,这是我的活动代码

package com.example.controler;

import android.os.Bundle;
import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
    public void send_a(View v){
        try {

            Socket csoc = new Socket("x.x.x.x", 6666);
            DataOutputStream outToSerever = new DataOutputStream(csoc.getOutputStream());

            BufferedReader inFromServer = new BufferedReader(new InputStreamReader(csoc.getInputStream()));

            outToSerever.writeBytes("A");

            csoc.close();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

【问题讨论】:

标签: java android sockets


【解决方案1】:

您是否设置了清单权限?

<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET" />
 <application ...
</manifest>

【讨论】:

  • @ImtiyazKhan,另外还有一个很棒的套接字服务器/客户端,叫做 socket.io -> socket.io
  • 服务器在本地网络吗?也许本地主机?检查android设备是否可以ping服务器ip。
  • 服务器正在我的桌面 IP 上运行。我从笔记本电脑检查它的客户端(Java 代码)它正在工作
  • 可能你的安卓设备不在局域网或不在同一个局域网。将您的设备放在同一个本地网络中,具有相同的子网,例如桌面 192.168.0.10,安卓设备 192.168.0.XX
  • 两个设备都连接到同一个wifi
【解决方案2】:

您是否在 UI 线程上运行?尝试启动一个新线程来运行它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2013-07-12
    相关资源
    最近更新 更多