android java.net.ConnectException: Connection refused: connect
来源:互联网 发布:dd命令 备份linux系统 编辑:程序博客网 时间:2024/05/22 13:23
服务端代码:
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;@Overridepublic 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() {@Overridepublic 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 blocke.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 stubtry {//根据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 refused: connect
- android java.net.ConnectException: Connection refused: connect 2
- java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect
- Solution: java.net.ConnectException: Connection refused: connect
- java.net.ConnectException Connection refused connect
- java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect
- JedisConnectionException: java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect 解决
- FTP java.net.ConnectException: Connection refused: connect
- java.net.ConnectException: Connection refused: connect 解决
- android java.net.ConnectException: Connection refused
- java.net.ConnectException: Connection refused (Connection refused)
- java.net.ConnectException: Connection refused: connect 完美解决(SQLserver2000)
- linux 内存映射 PCI内存映射 DMA映射
- 学习WP7应用开发的笔记--秒分时针的角度计算
- oracle 安装 在linux 下
- 单元测试套件PHPUnit_Framework_TestSuite的用法
- monodevelop中文显示解决方法
- android java.net.ConnectException: Connection refused: connect
- C#3.0特性之---扩展方法
- wifi basic knowlege
- 清除浮动的两种解决方案
- chap 20:使用 Java Native Interface 的最佳实践
- Linux安装maven
- java中String\十六进制String\byte[]之间相互转换函数
- FreeBSD下Mysql重装以及修改Mysql数据库默认路径
- C++虚函数表解析(转)