如何在Android中创建套接字对象 [英] How to create a socket object in 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屋!