android java.net.ConnectException: Connection refused: connect
2012-04-13 13:52
483 查看
服务端代码:
客户端代码:
成功。
注释中最重要的
这个地址获得的很辛苦,网络上很多人也多卡壳了
127这样的地址都提示: java.net.ConnectException: Connection refused: connect
我后来是写了个获得手机地址的方法,结果还非法了。直到把wifi打开,获取到了一个地址。见服务端的GetHostIp方法,至此,才正确
还要注意一点,需要给对应的权限:
之后就是一下篇,PC做服务端,手机做客户端,同样会有Connection refused: connect的错误
package com.tbk; /* * * android学习之 Socket编程 * UDP传输协议: 类似邮递,以数据包的形式发送。速度比较快,但目标是否正确接收,不负责验证。 * 以DatagramSocket/DatagramPackages处理。 * TCP传输协议:准确度较高,能够验证数据传输是否成功。 * 以ServerSocket/InputStream处理。 * 以TCP协议为例实现过程中遇到的问题 * * 第一种测试:用PC作客户端,用android做服务端 */ import java.io.InputStream; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketException; import java.util.Enumeration; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class NewSocketActivity extends Activity { Button btnSocket = null; TextView textView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setContentView(R.layout.main); btnSocket = (Button) findViewById(R.id.btnSocket); textView = (TextView) findViewById(R.id.socketText); btnSocket.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //实在无法猜测手机的地址,被迫,查询得知 System.out.println(GetHostIp()); new ServerThread().start(); } }); } class ServerThread extends Thread { public void run() { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(6767); Socket socket = serverSocket.accept(); InputStream inputStream = socket.getInputStream(); byte buffer[] = new byte[1024 * 4]; int temp = 0; while ((temp = inputStream.read(buffer)) != -1) { System.out.println(new String(buffer, 0, temp)); } } catch (Exception e) { System.out.println(e); e.printStackTrace(); } finally { try { serverSocket.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public String GetHostIp() { try { for (Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> ipAddr = intf.getInetAddresses(); ipAddr .hasMoreElements();) { InetAddress inetAddress = ipAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress(); } } } } catch (Exception e) { } return null; } }
客户端代码:
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class TCPClient { public static void main(String[] args) { // TODO Auto-generated method stub try { //根据ip地址,端口号创建一个socket //这个地址获得的很辛苦,网络上很多人也多卡壳了 //127这样的地址都提示: java.net.ConnectException: Connection refused: connect //我后来是写了个获得手机地址的方法,结果还非法了。直到把wifi打开,获取到了一个地址。见服务端的GetHostIp方法,至此,才正确 Socket socket = new Socket("192.168.1.111", 6767); //创建一个从文件中读取内容的输入数据流 InputStream inputStream = new FileInputStream("e://sqlnet.log"); //创建一个要通过socket发送数据的输出流 OutputStream outputStream = socket.getOutputStream(); byte buffer[] = new byte[1024*4]; int temp=0; //循环,将文件输入流的内容写到socket的输出流中,即发送出去。 while ((temp=inputStream.read(buffer))!=-1){ outputStream.write(buffer, 0, temp); } outputStream.flush(); } catch (Exception e) { e.printStackTrace(); } } }
成功。
注释中最重要的
这个地址获得的很辛苦,网络上很多人也多卡壳了
127这样的地址都提示: java.net.ConnectException: Connection refused: connect
我后来是写了个获得手机地址的方法,结果还非法了。直到把wifi打开,获取到了一个地址。见服务端的GetHostIp方法,至此,才正确
还要注意一点,需要给对应的权限:
<uses-permission android:name="android.permission.INTERNET"/>
之后就是一下篇,PC做服务端,手机做客户端,同样会有Connection refused: connect的错误
相关文章推荐
- android java.net.ConnectException: Connection 127.0.0.1:8080 refused
- android java.net.ConnectException: Connection localhost:8080 refused
- android java.net.ConnectException: Connection 127.0.0.1:8080 refused
- android java.net.ConnectException: Connection refused: connect 2
- android java.net.ConnectException: Connection 127.0.0.1:8080 refused
- 使用axis开发webservice服务java.net.ConnectException: Connection refused: connect异常的解决办法
- java.net.ConnectException Connection refused
- 严重 catalina.stop java.net.connectexception connection refused connect
- 出现 java.net.ConnectException: Connection refused 异常的原因及解决方法
- HBase坑三java代码进行操作报错hbase Caused by: java.net.ConnectException: Connection refused: no further inform
- com.android.volley.NoConnectionError: java.net.ConnectException: Connection refused
- java.net.ConnectException: Connection refused问题解决办法
- Caused by: java.net.ConnectException: Connection refused: connect
- Err;java.net.ConnectException: Connection refused: connect
- 连接Ubuntu系统服务器Mysql出错(错误:10061)/Jdbc连接远程数据库出错(java.net.ConnectException: Connection refused: connect)
- java.net.ConnectException: Connection refused: no further information
- Solution: java.net.ConnectException: Connection refused: connect
- 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
- java.net.ConnectException Connection refused connect
- java连接SQL Server 2005提示: java.net.ConnectException: Connection refused: connect