a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 系統(tǒng) > Android > 正文

Android 模擬器(JAVA)與C++ socket 通訊 分享

2020-04-11 12:20:19
字體:
供稿:網(wǎng)友
C++ 作為Client端
view plaincopy to clipboardprint?
復(fù)制代碼 代碼如下:

// Client.cpp : Defines the entry point for the console application.    
//    
#include "stdafx.h"    
#include     
#pragma comment(lib,"ws2_32.lib")    
#define  MAX_BUF_SIZE 1024    
#define  PORT_NUMBER 12581    
int _tmain(int argc, _TCHAR* argv[])    
{    
    WSADATA wSaData;    
    WORD dwSockVersion = MAKEWORD(2,2);    
    if (0 != WSAStartup(dwSockVersion,&wSaData)) //協(xié)商版本號(hào)    
    {    
        printf("Arrange Version Failure");    
        return -1;    
    }    
    SOCKET nSocket;    
    nSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //創(chuàng)建TCP socket    
    if (INVALID_SOCKET == nSocket)    
    {    
        printf("invalid socket");    
        WSACleanup();    
        return -1;    
    }    
    sockaddr_in sa;    
    sa.sin_family = AF_INET;    
    sa.sin_addr.s_addr = inet_addr("127.0.0.1");    
    sa.sin_port = htons(PORT_NUMBER);    
    if ( 0 != connect( nSocket,( const SOCKADDR * )&sa, sizeof(sa) ) )    
        return -1;    
    char buf[MAX_BUF_SIZE] = {0};    
    char tmp[MAX_BUF_SIZE] = {0};    
    strcpy(tmp,"this is Client!");  
    int nSend = send(nSocket, tmp, (int)strlen(tmp), 0); 
    int nRecv = 0;    
    nRecv = recv(nSocket, buf, MAX_BUF_SIZE, 0);    
    if (nRecv > 0)    
    {    
        printf("%s/n",buf);    
    }    
    closesocket(nSocket);    
    WSACleanup();    
    return 0;    


Android 模擬器,JAVA作為Serve端
view plaincopy to clipboardprint?
復(fù)制代碼 代碼如下:

package com.Android.SocketTest; 
import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.net.InetAddress; 
import java.net.ServerSocket; 
import java.net.Socket; 
import android.app.Activity; 
import android.os.Bundle; 
public class SocketTest extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        StartAcceptSocket(); 
    } 
    private void StartAcceptSocket()  
    { 
        try 
        {              
            short nPort = 31012; 
            ServerSocket m_pServerSocket = new ServerSocket(nPort); //初始化socket 
            Socket pAccSocket = m_pServerSocket.accept(); //accept 阻塞等待 
            new RunningThread(pAccSocket).start();  //新建一個(gè)線程進(jìn)行數(shù)據(jù)收發(fā) 
        }catch(Exception e) 
        { 
            e.printStackTrace(); 
        } 
    } 
    public class RunningThread extends Thread 
    { 
        private Socket msocket = null; 
        RunningThread(Socket s) 
        { 
            this.msocket = s; 
        } 
        public void run() 
        {    
            byte [] pRecbyte = new byte[1024]; 
            String sSend = "hello Client! this is Server"; 
            byte [] pSendByte = new byte[1024]; 
            pSendByte = sSend.getBytes(); 
            while(true) 
            { 
                try 
                { 
                    DataInputStream sRead = new DataInputStream(msocket.getInputStream());  //讀取 
                    int nRec = sRead.read(pRecbyte); 
                    if(nRec > 0 ) 
                    { 
                        //System.out.println("receive client message success!"); 
                        DataOutputStream    sWrite = new DataOutputStream(msocket.getOutputStream());  
                        sWrite.write(pSendByte);  //發(fā)送 
                        break; 
                    }    
                }catch(Exception e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
        } 
    } 


 android 模擬器使用的IP 地址為"127.0.0.1";使用PC機(jī)的端口號(hào),在模擬器TCP連接調(diào)試之前必須使用android sdk 使用的工具進(jìn)行一次端口映射。如圖所示。即使用 Sdk 中的Tools下abd 工具,在cmd 窗口中運(yùn)行E://install//android//Android//android-sdk-windwows//tools//adb forward tcp:12581 tcp:31012" 前面目錄為android sdk  Tools 所在目錄。根據(jù)本機(jī)情況而定。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲成人久久久 | 久草新在线 | 欧美一级在线观看 | 久久av免费观看 | 午夜影晥 | 日韩精品一区二区三区视频播放 | 亚洲综合在线一区二区 | 午夜影院a | 在线观看免费国产 | 亚洲精品国偷拍自产在线观看蜜桃 | 91佛爷在线观看 | 亚洲毛片 | 日韩精品一区二区三区中文在线 | 成人av网址在线观看 | 欧美黑人巨大久久久精品一区 | 欧美全黄 | 天堂一区 | 久精品视频 | 国产精品美女久久久久久久网站 | 91在线一区二区 | 在线观看日韩一区 | 久久久久久亚洲 | 亚洲一区中文字幕在线观看 | 久久三区 | 亚洲精品免费在线观看 | 狠狠操夜夜操天天操 | 特黄网站 | 国产91精品一区二区绿帽 | 精品一区二区视频 | 亚洲一区二区三区四区五区中文 | 一区二区三区日本 | 大黄网站在线观看 | 91天堂 | 亚洲国产日本 | 天天干 夜夜操 | 日本黄色大片免费 | 欧美视频免费在线观看 | 欧美视频a | 国产精品大片在线观看 | 日韩精品不卡 | 久久久久久久久久久久久国产精品 |