`

Android学习笔记_Socket编程(tcp/udp)

 
阅读更多
socket编程


public class SocketActivity extends Activity{
    private Button startButton=null;
    public void onCreate(Bundle saveInstanceState){
        super.onCreate(saveInstanceState);
        setContentView(R.layout.main);
        startButton = (Button)findViewById(R.id.startButton);
        startButton.setOnClickListener(new StartSocketListener());
    }
    class StartSocketListener implements OnClickListener{
        public void onClick(){
           new ServerThread().start();
        }
    }
    class ServerThread extends Thread{
        public void run(){
           ServerSocket serverSocket=null;
           try{
              serverSocket = new ServerSocket(3456);
              Socket socket = serverSocket.accept();
              InputStream inputStream = socket.getInputStream();
              byte buffer [] = new byte[1024];
              int temp = 0;
              while((temp = inputStream.read(buffer)) !=-1){
                    System.out.println(new String(buffer,0,temp));
              }
           }catch(IOException e){
               e.printStackTrace();
           }finally{
               try{
                   serverSocket.close();
               }catch(Exception e){
                   e.printStackTrace();
               }
           }
        }
    }
}


public class TCPClient{
     public static void main(String[] args){
          try{
              Socket socket = new Socket("192.168.0.100",3456);
              InputStream inputStream = new FileInputStream("f://file/words.txt");
              OutputStream outputStream = socket.getOutputStream();
              byte buffer[] = new byte[4*1024];
              int temp=0;
              while((temp=inputStream.read(buffer))!=-1){
                  outputStream.write(buffer,0,temp);
              }
          }catch(Exception e){
             e.printStackTrace();
          }
     }
}

UDP协议下的SocketActivity中的run()方法
    public void run(){
       try{
          DatagramSocket socket=new DatagramSocket(4567);
          byte data[]=new byte[1024];
          DatagramPacket packet = new DatagramPacket(data,data.length);
          socket.receive(packet);
          String result= new String(packet.getData(),packet.getOffset(),packet.getLength());
          System.out.println("result----->"+result); 
       }
    }
public class UDPClient{
    public static void main(String[] args){
        try{
           DatagramSocket socket = new DatagramSocket(3456);
           InetAddress serverAddress = InetAddress.getByName("192.168.1.100");
           String str= "hello";
           byte data[]=str.getBytes();
           DatagramPacket packet = new DatagramPacket(data,data.length,serverAddress,3456);
           socket.send(packet);
        }catch(Exception e){
           e.printStackTrace();
        }       
    }
}




分享到:
评论

相关推荐

    Socket网络编程学习笔记.zip

    该笔记主要介绍的网络编程中涉及的网络计算机的基本概念,第二章及第三章分别对TCP./IP、UDP两种网络编程进行了不同级别的编程解释,适合初次接触网络编程的朋友,通俗易懂,希望对大家有用

    Linux网络编程socket编程学习

    自学Linux网络编程关于socket的编写,包括 server.c 和 client.c 的编写;很详细的介绍了网络套接字socket的C/S模型TCP协议的服务器端和客户端的程序函数以及编写过程;重点介绍多路I/O转接服务器的实现,包括select...

    Socket TCP Java 高清学习资料合集

    包括 1.TCP-IP详解卷1:协议 中文版PDF 2.高级TCP/IP编程 中文版PDF 3.TCPIP Sockets in Java 2nd 英文版PDF, 4.Advanced JAVA networking英文版PDF ...5.中文版Socket Java教程 6.Socket Java学习笔记 7.UDP简单案例

    android学习笔记4--socket

    简单介绍了网络编程,和简单的使用方法,这部分属于java的基础只是,有必要了解下。

    python24期全套视频编程课程百度网盘

    5. 网络编程:介绍Python的网络编程、socket编程、TCP/UDP协议等知识。 6. 多线程编程:介绍Python的多线程编程、线程的创建、同步、锁等知识。 7. Web开发:介绍Python的Web开发、Django框架、MVC模式、ORM等知识...

    linux网络编程学习笔记

    我们用的是 TCP协议,这样会提供按顺序的,可靠,双向,面向连接的比特流. SOCK_DGRAM 表明我们用的是 UDP协议,这样只会提供定长的,不可靠,无连接的通信. protocol:由于我们指定了 type,所以这个地方我们一般只要用 0...

    python网络编程学习笔记(二):socket建立网络客户端

    1、建立socket ...因此对于TCP通信,建立一个socket连接的语句为:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)对于UDP通信,建立一个socket连接的语句为:s=socket.socket(socket.AF_INET,

    NodeJS学习笔记之网络编程

    Node提供丰富的网络编程模块 Node模块 协议 net TCP dgram UDP http HTTP https HTTPS TCP服务事件分为下面两类 (1)、服务器事件 对于通过net.createServer()创建的服务器而言,它是一个...

    java学习笔记 初学者必读

    16.2. TCP Socket 16-54 16.2.1. 建立TCP服务器端 16-54 16.2.2. 建立TCP客户端 16-55 16.3. 建立URL连接 16-55 16.4. UDP socket 16-58 16.4.1. 建立UDP 发送端 16-58 16.4.2. 建立UDP 接受端 16-59 17. java5.0的...

    Python树莓派学习笔记之UDP传输视频帧操作详解

    本文实例讲述了Python树莓派学习笔记之UDP传输视频帧操作。分享给大家供大家参考,具体如下: 因为我在自己笔记本电脑上没能成功安装OpenCV-Contrib模块,因此不能使用人脸识别等高级功能,不过已经在树莓派上安装...

    Linux协议栈阅读笔记

    TCP/IP本身是一个协议族,还包括ARP,ICMP,UDP等协议。是事实上的行业标准。  网络架构 ISO提出的七层架构。网络协议栈的实现基本采用TCP/IP的四层架构(链路、网络、传输、应用)。不过在实际学习中通常讲到的是5...

    Java网络编程(第3版) 中文版

    本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

    中美 IT 培训 C# Asp.net 全套笔记1

    (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理技术,租约和生存期控制;...

    Java网络编程(第3版) 中文版 文件2

    本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

    中美 IT 培训 C# Asp.net 笔记3

    (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理技术,租约和生存期控制;...

    中美 IT 培训 C# Asp.net 笔记2

    (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理技术,租约和生存期控制;...

    blog::rainbow: 技术博客,记录日常工作学习的整理~欢迎star

    Socket 编程 - tcp与udp socket websocket - 项目笔记[1] - 鉴权、安全、心跳 websocket - 项目笔记[2] - 封装一个简单的lib DNS - 再聊DNS工作原理及其应用、优化 网络篇 - HTTPS 与 TLS 握手 网络篇 - https 免费...

    值类型与引用类型理论内容.part01.rar

    C# 高级编程II (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理...

    值类型与引用类型理论内容.part05.rar

    C# 高级编程II (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理...

Global site tag (gtag.js) - Google Analytics