zoukankan      html  css  js  c++  java
  • Socket-传送文件

    客户端:

     public partial class Form1 : Form
        {
            Socket myClientSocket;
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                button1.Text = "发送";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                myClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("xxxxx"), 49392);
                myClientSocket.Connect(ipEndPoint);
                FileStream fileStream = new FileStream(@"C:UsersAlexDesktop	est.exe", FileMode.Open);
                byte[] mybyte = new byte[fileStream.Length];
                fileStream.Read(mybyte, 0, mybyte.Length);
                fileStream.Close();
                myClientSocket.Send(mybyte);
            }
        }

    服务器端

    public partial class Form1 : Form
        {
            Socket listenServerSocket;
            Socket socket;
            public Form1()
            {
                InitializeComponent();
                listenServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                listenServerSocket.Bind(new IPEndPoint(IPAddress.Parse("1xxxx"), 49392));
                listenServerSocket.Listen(10);
                listenServerSocket.BeginAccept(new AsyncCallback(OnConnectRequest), listenServerSocket);
     
            }
            public void OnConnectRequest(IAsyncResult ar)
            {
                Socket server1 = (Socket)ar.AsyncState;
                socket = server1.EndAccept(ar);
                Byte[] byteDateLine = new byte[10];
                server1.BeginAccept(new AsyncCallback(OnConnectRequest), server1);
                while (true)
                {
                    int recv = 0;
                    FileStream fs = new FileStream(@"C:UsersAlexDesktop	est1.exe", FileMode.Create);
                    while ((recv = socket.Receive(byteDateLine)) > -1)
                    {
                        fs.Write(byteDateLine, 0, recv);
                    }
                    fs.Flush();
                    fs.Close();
                }
            }
        }
  • 相关阅读:
    AJAX删除事件与加载数据
    AJAX的基本操作
    用JavaScript写弹窗
    jQuery事件和JSON点语法
    jQuery
    jQuery基础知识
    php 实现简单购物车功能(2)
    css实现3D立方体旋转特效
    for循环与foreach的区别
    微信小程序开发2 双线程模型,小程序中app.js中的生命周期,小程序的页面的生命周期,小程序的事件,事件补充(事件的冒泡,捕获)
  • 原文地址:https://www.cnblogs.com/dangnianxiaoqingxin/p/12593918.html
Copyright © 2011-2022 走看看