package com.example.administrator.phoneserver;import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import org.w3c.dom.Text;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;public class MainActivity extends AppCompatActivity { private EditText etUsername;
private EditText etPassword;
private TextView tvResult; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUsername=(EditText) findViewById(R.id.et_account);
etPassword=(EditText)findViewById(R.id.et_password);
tvResult=(TextView)findViewById(R.id.tv_result); Button btnRegister=(Button) findViewById(R.id.btn_register);
btnRegister.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(!TextUtils.isEmpty(etUsername.getText().toString())
&&!TextUtils.isEmpty(etPassword.getText().toString())){
Log.e("TISHI:","都不空");
register(etUsername.getText().toString(),etPassword.getText().toString());
}else{
Toast.makeText(MainActivity.this,"账号密码都不能为空",Toast.LENGTH_SHORT).show();
}
}
}); Button btnLogin=(Button)findViewById(R.id.btn_login);
btnLogin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(!TextUtils.isEmpty(etUsername.getText().toString())
&&!TextUtils.isEmpty(etPassword.getText().toString())){
Log.e("TISHI:","都不空");
login(etUsername.getText().toString(),etPassword.getText().toString());
}else{
Toast.makeText(MainActivity.this,"账号密码都不能为空",Toast.LENGTH_SHORT).show();
}
}
});
} private void register(String username,String password){
String registerUrlStr=Constant.URL_Register+"?username="+username+"&password="+password; } private void login(String username,String password){
String loginUrlStr=Constant.URL_Login+"?username="+username+"&password="+password;
requestUsingHttpURLConnection(loginUrlStr);
} private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what == 1){
tvResult.setText(msg.obj.toString());
}
}
}; private void requestUsingHttpURLConnection( final String urlstr) {
// 网络通信属于典型的耗时操作,开启新线程进行网络请求
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection connection = null;
try {
URL url = new URL(urlstr);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null){
response.append(line);
}
Message msg = new Message();
msg.what = 1;
msg.obj = response.toString();
Log.e("WangJ", response.toString());
handler.sendMessage(msg); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}logcat:
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: java.net.SocketTimeoutException: connect timed out
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.PlainSocketImpl.socketConnect(Native Method)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.Socket.connect(Socket.java:592)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.Platform.connectSocket(Platform.java:113)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.Connection.connectSocket(Connection.java:196)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.Connection.connect(Connection.java:172)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:367)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:329)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:246)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:457)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:405)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:243)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.example.administrator.phoneserver.MainActivity$4.run(MainActivity.java:100)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.lang.Thread.run(Thread.java:776)他的意思是: InputStream in = connection.getInputStream();这一句 connected time out
真机连接了电脑的wifi 一切配置正常
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import org.w3c.dom.Text;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;public class MainActivity extends AppCompatActivity { private EditText etUsername;
private EditText etPassword;
private TextView tvResult; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUsername=(EditText) findViewById(R.id.et_account);
etPassword=(EditText)findViewById(R.id.et_password);
tvResult=(TextView)findViewById(R.id.tv_result); Button btnRegister=(Button) findViewById(R.id.btn_register);
btnRegister.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(!TextUtils.isEmpty(etUsername.getText().toString())
&&!TextUtils.isEmpty(etPassword.getText().toString())){
Log.e("TISHI:","都不空");
register(etUsername.getText().toString(),etPassword.getText().toString());
}else{
Toast.makeText(MainActivity.this,"账号密码都不能为空",Toast.LENGTH_SHORT).show();
}
}
}); Button btnLogin=(Button)findViewById(R.id.btn_login);
btnLogin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(!TextUtils.isEmpty(etUsername.getText().toString())
&&!TextUtils.isEmpty(etPassword.getText().toString())){
Log.e("TISHI:","都不空");
login(etUsername.getText().toString(),etPassword.getText().toString());
}else{
Toast.makeText(MainActivity.this,"账号密码都不能为空",Toast.LENGTH_SHORT).show();
}
}
});
} private void register(String username,String password){
String registerUrlStr=Constant.URL_Register+"?username="+username+"&password="+password; } private void login(String username,String password){
String loginUrlStr=Constant.URL_Login+"?username="+username+"&password="+password;
requestUsingHttpURLConnection(loginUrlStr);
} private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what == 1){
tvResult.setText(msg.obj.toString());
}
}
}; private void requestUsingHttpURLConnection( final String urlstr) {
// 网络通信属于典型的耗时操作,开启新线程进行网络请求
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection connection = null;
try {
URL url = new URL(urlstr);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null){
response.append(line);
}
Message msg = new Message();
msg.what = 1;
msg.obj = response.toString();
Log.e("WangJ", response.toString());
handler.sendMessage(msg); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}logcat:
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: java.net.SocketTimeoutException: connect timed out
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.PlainSocketImpl.socketConnect(Native Method)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.net.Socket.connect(Socket.java:592)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.Platform.connectSocket(Platform.java:113)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.Connection.connectSocket(Connection.java:196)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.Connection.connect(Connection.java:172)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:367)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:329)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:246)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:457)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:405)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:243)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at com.example.administrator.phoneserver.MainActivity$4.run(MainActivity.java:100)
05-23 10:41:00.446 1630-1783/com.example.administrator.phoneserver W/System.err: at java.lang.Thread.run(Thread.java:776)他的意思是: InputStream in = connection.getInputStream();这一句 connected time out
真机连接了电脑的wifi 一切配置正常
解决方案 »
- 服务如何知道所在Activity在任务管理器中被关闭?
- Android网络通信的小问题
- android webview加载本地flash之后白屏问题
- Android 自己开发一个类似模拟器时区选择界面
- android如何实现重绘
- android 1.5 -2.2 兼容性问题 很急!
- android中不同activity之间传值的问题
- Android 应用程序获得Root权限打开数据库
- ADT中如何避免每次run都新打开一个模拟器
- 请高手多多帮忙,android和JNA
- Edittext长按弹出复制粘贴对话框,挡住了上面的按钮,我怎么设置显示下面
- 在ListView中使用写setImageBitmap()方法,怎么会报错?
但是什么都能访问 会不会和这个有关系
即使你和电脑在同一网段,也需要通过ip去访问你的电脑服务器,服务器的地址为电脑内网IP,而不是localhost或者127.0.0.1
估计这个可以帮助你
mysql> GRANT ALL PRIVILEGES ON *.* TO 'waynesee'@'%' IDENTIFIED BY '171936' WITH GRANT OPTION;
mysql> flush privileges;
并且这个密码可以登录
这个是服务器端访问数据库的:
需要把localhost改为内网ip吗
这个是客户端的:
而且他说要注释my.ini中的bind-address 可是我的my.ini中找不见