红豆绿豆芋头 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 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
    • ¥20 怎么在stm32门禁成品上增加查询记录功能
    • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
    • ¥50 NT4.0系统 STOP:0X0000007B
    • ¥15 想问一下stata17中这段代码哪里有问题呀