English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مثال على تحقيق إتصال TCP وUDP للعميل في تطوير Android

هذا المثال يشرح كيفية تنفيذ ميزة الاتصال بالعميل TCP وUDP في برمجة Android. نشاركه معكم للاستفادة، كما يلي:

في عملية تطوير Android، لا يمكن تجنب تطوير برامج اتصال TCP/UDP، والآن يقدم لك هذان الفصلان مثالاً على كيفية استخدام TCP/UDP:

كود واحد: اتصال TCP:

خاصة void tcpdata() {
    try {
        سوكت س = new سوكت("192.168.0.25", 65500);
        // إعادة توجيه поток الخروج إلى套接ال
        OutputStream out = s.getOutputStream();
        // تنبيه: سيتم تلقائيًا flush الثانية إذا كان المعامل ثابتًا في الصفر، وإلا سيكون من الضروري التحقق يدويًا من out.flush()
        PrintWriter output = new PrintWriter(out, true);
        output.println("Hello IdeasAndroid! 伪IP为:"
                + SIMCardToIP("13512345006"));
        InputStream inputStream = s.getInputStream();
        DataInputStream input = new DataInputStream(inputStream);
        byte[] b = new byte[10000];
        int length = input.read(b);
        inputReader = new InputStreamReader(inputStream);
        String Msg = new String(b, 0, length, "gb2312");
        Toast.makeText(TcpTest.this, Msg, 1000).show();
        Log.d("Tcp Demo", "message From Server:" + Msg);
        s.close();
    catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    {}
{}

كود التالي هو عملية اتصال UDP:

public String send(String msg) {
    StringBuilder sb = new StringBuilder();
    InetAddress local = null;
    try {
        local = InetAddress.getByName("192.168.0.25"); // اختبار على الجهاز المحلي
    catch (UnknownHostException e) {
        e.printStackTrace();
    {}
    try {
        dSocket = new DatagramSocket(); // تنبيه هنا يجب إعداد الأذونات في ملف الإعدادات، وإلا سيتم رمي استثناء عدم كفاية الأذونات
    catch (SocketException e) {
        e.printStackTrace();
    {}
    int msg_len = msg == null ? 0 : msg.length();
    DatagramPacket dPacket = new DatagramPacket(msg.getBytes(), msg_len,)}
            local, SERVER_PORT);
    try {
        dSocket.send(dPacket);
    } catch (IOException e) {
        e.printStackTrace();
    {}
    try {
        dSocket.receive(dPacket);
        sb.append(new String(dPacket.getData()));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    {}
    dSocket.close();
    return sb.toString();
{}

قراء مهتمون بمزيد من المعلومات حول Android يمكنهم الرجوع إلى مواضيع الموقع الخاصة بنا: 'تلخيص طرق الاتصال في Android'، 'دليل البدء في تطوير Android والتقدم فيه'، 'تجميع تقنيات الت调试 والأسئلة الشائعة في Android'، 'تجميع تقنيات التعامل مع الوسائط في Android (الصوت، الفيديو، التسجيل، إلخ)'، 'تجميع استخدامات العناصر الأساسية في Android'، 'تجميع تقنيات العرض View في Android'، 'تجميع تقنيات التخطيط layout في Android'، و 'تجميع استخدامات العناصر Control في Android'.

آمل أن يكون هذا المقال قد ساعدك في تصميم برامج Android.

إعلان: محتويات هذا المقال تم جمعها من الإنترنت، ملكية المحتويات لصاحب الحقوق، المحتويات تم إدراجها من قبل مستخدمي الإنترنت بشكل تلقائي، هذا الموقع لا يمتلك حقوق الملكية، لم يتم تعديل المحتويات بشكل يدوي، ولا يتحمل هذا الموقع أي مسؤولية قانونية متعلقة بذلك. إذا كنت قد وجدت محتويات مشبوهة بحقوق النسخ، فنرجو منك إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال '#' بـ '@') لإبلاغنا، وقدم الأدلة ذات الصلة، وسيتم حذف المحتويات المشبوهة بحقوق النسخ فور التحقق منها.

أنت قد تحب