如何在Android中创建套接字对象 [英] How to create a socket object in android

查看:55
本文介绍了如何在Android中创建套接字对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我想知道如何在android中创建套接字对象.

对于跟踪,我已经完成了以下代码.

Hi all,

I want to know how can i create a socket object in android.

for a trail i have done the following code.

pubic class Main extends Activity   
{
	public Socket socket;
	BufferedWriter writer;
	SocketAddress remoteAddr;

         @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try {
        	//SmsMessage
        	 
        	Log.v("conn","creating....");
			  socket=new Socket("localhost",8080);

             }
          catch (UnknownHostException e) {
                      e.printStackTrace();
        } catch (IOException e) {
                        e.printStackTrace();
         }

}
}


当我运行此代码时,出现以下错误



when i run this code i am getting the following error


java.net.SocketException: Permission denied
     at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method)
     at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket (OSNetworkSystem.java:186)
     at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265)
     at java.net.Socket.startupSocket(Socket.java:774)
     at java.net.Socket.tryAllAddresses(Socket.java:194)
     at java.net.Socket.<init>(Socket.java:258)
     at java.net.Socket.<init>(Socket.java:222)
     at com.test.Main.onCreate(Main.java:31)
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
     at android.os.Handler.dispatchMessage(Handler.java:99)
     at android.os.Looper.loop(Looper.java:123)
     at android.app.ActivityThread.main(ActivityThread.java:4627)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:521)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run   (ZygoteInit.java:868)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
     at dalvik.system.NativeStart.main(Native Method)</init></init>





在清单文件中,我已授予互联网许可





In the manifest file i have given the internet permission

<use-permission android:name="android.permission.INTERNET" ></use-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>




我做的是正确的还是不正确的?
还有其他创建套接字对象的方法....




what i have done is correct or not??
Any other way is there to create the socket object....

推荐答案

2300(ActivityThread.java:125) 在android.app.ActivityThread
2300(ActivityThread.java:125) at android.app.ActivityThread


H.handleMessage(ActivityThread.java:2033) 在android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loop(Looper.java:123) 在android.app.ActivityThread.main(ActivityThread.java:4627) 在java.lang.reflect.Method.invokeNative(本机方法) 在java.lang.reflect.Method.invoke(Method.java:521) 在com.android.internal.os.ZygoteInit
H.handleMessage(ActivityThread.java:2033) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit


MethodAndArgsCaller.run(ZygoteInit.java:868) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 在dalvik.system.NativeStart.main(本机方法)上< /init < >
MethodAndArgsCaller.run (ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(Native Method)</init></init>





在清单文件中,我已授予互联网许可





In the manifest file i have given the internet permission

<use-permission android:name="android.permission.INTERNET" ></use-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>




我做的是正确的还是不正确的?
还有其他创建套接字对象的方法....




what i have done is correct or not??
Any other way is there to create the socket object....


这篇关于如何在Android中创建套接字对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆