红豆绿豆芋头 2014-05-28 04:24
浏览 954

安卓代码无法socket连接个人笔记本服务器~一直没能解决这个问题,求帮助

服务器代码:
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server
{
public static void main(String[] args) throws IOException
{
Frame frame = new Frame("服务器");
frame.setSize(500, 250);
frame.setLayout(new FlowLayout());
frame.setLocation(500, 250);
TextArea textArea = new TextArea();
frame.add(textArea);

    frame.setVisible(true);
    frame.addWindowListener(new WindowAdapter()
    {
        public void windowClosing(WindowEvent e)
        {
            System.exit(0);
        }
    });
    ServerSocket serverSocket = new ServerSocket(11111);
    textArea.append("服务器已启动\n");
    while (true)
    {
        Socket socket = serverSocket.accept();
        textArea.append(socket.getInetAddress().getHostAddress() + "已连接\n");
        socket.close();
    }
}

}
手机上连接socket的Activity代码:
package com.example.usst.im;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class LoginActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
Button login = (Button) findViewById(R.id.btn_login_login);
login.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
new Thread()
{
public void run()
{
senddata();
}

            }.start();
        }

        private void senddata()
        {
            try
            {
                Toast.makeText(LoginActivity.this, "尝试连接", Toast.LENGTH_LONG).show();
                Socket socket = new Socket("10.16.57.24", 11111);
                Toast.makeText(LoginActivity.this, "socket开启", Toast.LENGTH_LONG).show();
                socket.close();
                Toast.makeText(LoginActivity.this, "socket关闭", Toast.LENGTH_LONG).show();
            } catch (UnknownHostException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    Button regist = (Button) findViewById(R.id.btn_login_regist);
    // 为regist按钮绑定事件监听器
    regist.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View source)
        {
            // 创建需要启动的Activity对应的Intent
            Intent intent = new Intent(LoginActivity.this, RegistActivity.class);
            // 启动intent对应的Activity
            startActivity(intent);
        }
    });
}

}
现在环境如下:
大学局域网内手机、电脑皆WIFI接入,电脑IP用的是WIFI的IP,一直尝试链接无反应,
但是用机房两台台式电脑测代码是可以连接的,证明两个台式电脑是通的,
再用笔记本连接台式服务器试验机,是可以连接的,但是台式机反过来无法给笔记本服务器发数据;(这可能有问题)
再说手机:已经加入代码,但是USB真机调试的时候没有显示权限认可界面就直接装上了,一点“登陆”就软件停止运行,
所以手机软件应该也没法传送出去信号,(这也是问题)
请问现在该怎么解决?

真心求助啊

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作