博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员—Socket 网络编程有感
阅读量:7034 次
发布时间:2019-06-28

本文共 1471 字,大约阅读时间需要 4 分钟。

ASP.Net+Android+IO开发S、.Net培训、期待与您交流!

以前学shell语言时,也构架过服务器与客户端,觉得好难,因为当时刚学shell,对这个语言不是很了解,而且基于linux,是在控制台编代码。觉得学的很糟!今天看了黑马里的网络编程的视屏,觉得很给力。还是说说Socket吧。

  在.net中要使用socket,必须先引用命名空间-system.net.socket,这里有处理套接字socket的一些方法。

socket在服务端与客户端的应用模式如下:

1.服务端welcoming监听客户端发出的连接消息

2.客户端连接服务端的指定端口。(专门用来接收消息和发送消息)

3.服务端监听到客户端后,通过welcoming的套接字来创建连接客户端的套接字connection(专门用来发送消息)

这里要说明一下,一般welcoming 绑定在指定的端口,监听客户端发来的消息。

具体实现如下:

服务器:

  Socket sokWatch = null;

        Thread thread = null;
        private void button1_Click(object sender, EventArgs e)
        {
            //创建监听的套接字
            sokWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //创建IP地址
            IPAddress address =IPAddress.Parse(txtIP.Text.Trim());
            //创建端口地址
            IPEndPoint post = new IPEndPoint(address, int.Parse(txtPost.Text.Trim()));
            //将监听器绑定在端口上
            sokWatch.Bind(post);
            //端口同时连接上限为10
            sokWatch.Listen(10);
            //多线程来处理服务器等待连接
            thread = new Thread(getAccept);
            thread.Start();
            ShowMsg("服务器正在监听客户响应........!");
        }
        void getAccept()
        {
            Socket sockConnection = sokWatch.Accept();
            ShowMsg("有客户端接入!");
        }
        void ShowMsg(string msg)
        {
            txtMsg.AppendText(msg+"\r\n");
        }

客户端:

                IPAddress address = IPAddress.Parse(txtIP.Text.Trim());

            IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtPost.Text.Trim()));
            Socket sokConnection = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
            sokConnection.Connect(endpoint);

这个就说到这里。

ASP.Net+Android+IOS开发、.Net培训、期待与您交流! 详细请查看:http://edu.csdn.net

转载于:https://www.cnblogs.com/dinghaiping/p/3279371.html

你可能感兴趣的文章
[zz]Ubuntu Hadoop HDFS 配置
查看>>
上市后Avaya锣鼓全开,加速战略布局规划
查看>>
日调度5万亿次,腾讯云发布企业级微服务中间件TSF
查看>>
海外侨胞建言四川对外开放:加强内陆省份竞争力成关键
查看>>
2019款奥迪Q7上市 配置增加/69.98万元起售
查看>>
策划求婚、陪挑婚纱,新郎不是我,仍感谢你来过|在百度遇见你
查看>>
从零单排学Redis【铂金一】
查看>>
如何处理Express异常
查看>>
Cycle.js 状态管理模型
查看>>
[译]Effective Kotlin系列之考虑使用原始类型的数组优化性能(五)
查看>>
为什么我从 Google 辞职而为自己工作
查看>>
技术问答集锦(四)
查看>>
针对虚拟机搭建centos7不能上网问题处理方法
查看>>
React 源码分析
查看>>
JavaScript 算法之复杂度分析
查看>>
第六章——函数(inout参数与变异方法)
查看>>
掘金翻译计划月报 — 2018 年 2 月
查看>>
Android属性动画
查看>>
渐进式Express源码学习5-全副武装
查看>>
JVM难学?那是因为你没认真看完这篇文章
查看>>