开发者社区> soledad_lhc> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

.Net网络编程——服务端获取客户端连接

简介: 一,客户端服务端连接图示          其中,在客户端和服务端的socket中,都报存这连接的信息;客户端通过connect连接,服务端可以调用AcceptTcpClient来获取链接到服务端的客户端,每一个客户端和服务端的连接都对应这唯一一个Socket.
+关注继续查看



一,客户端服务端连接图示







         其中,在客户端和服务端的socket中,都报存这连接的信息;客户端通过connect连接,服务端可以调用AcceptTcpClient来获取链接到服务端的客户端,每一个客户端和服务端的连接都对应这唯一一个Socket.




二,服务端获取连接示例



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;


namespace 获取单一客户端连接
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 获取单一客户端连接

                //Console.WriteLine("服务端启动啦啦啦。。");
                //IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
                //TcpListener listener = new TcpListener(ip, 8500);
                //listener.Start();
                //Console.WriteLine("服务端开始监听8500。。。。");

                ////获取一个连接,中断方法
                //TcpClient remoteClient = listener.AcceptTcpClient();//获取一个与客户端的连接,同时它返回一个TcpClient类型示例,此时它所包装的是由服务端去往客户端的socket(这是一个block method)

                ////打印连接到客户端的信息
                //Console.WriteLine("客户端连接成功。本地:{0}------>客户端{1}", remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint);

            #endregion

            #region 获取多个客户端的连接

                Console.WriteLine("服务端启动啦啦啦。。");
                IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
                TcpListener listener = new TcpListener(ip, 8500);
                listener.Start();
                Console.WriteLine("服务端开始监听8500。。。。");

                while (true)
                {
                    /*
                        将服务端放入一个始终执行的循环中。
                     
                     */

                    //获取一个连接,中断方法
                    TcpClient remoteClient = listener.AcceptTcpClient();//获取一个与客户端的连接,同时它返回一个TcpClient类型示例,此时它所包装的是由服务端去往客户端的socket(这是一个block method)

                    //打印连接到客户端的信息
                    Console.WriteLine("客户端连接成功。本地:{0}------>客户端{1}", remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint);
                }
            
               
            #endregion
        }
    }
}



            PS:AcceptTcpClient是一个同步的方法,对比AJAX的异步,可以发现如果服务端获取不到客户端的连接,就会一直阻塞在这里,而不是像AJAX请求数据的时候,下面的东西可以继续,成功后回调。










版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Unity【Socket TCP】- 服务端与客户端通讯的简单示例
Unity【Socket TCP】- 服务端与客户端通讯的简单示例
0 0
【Java 网络编程】TCP 服务器端 客户端 简单示例(二)
【Java 网络编程】TCP 服务器端 客户端 简单示例(二)
0 0
【Java 网络编程】TCP 服务器端 客户端 简单示例(一)
【Java 网络编程】TCP 服务器端 客户端 简单示例(一)
0 0
nodejs TCP服务器和客户端通信的socket结构
这个结构我们大学时上Unix网络编程的专业课就学过了:
0 0
.Net网络编程——使用TcpClient与TcpListener建立客户端与服务端连接
              一,.NET中如何实现建立连接                         在网络中,我们可以通过IP地址唯一定位一台主机,而在主机中,我们要确定收到的数据包发给谁,可以通过端口号,端口号的作用简单说就是不至于使你要发给QQ好友的消息数据包被错误发到了你的OC程序上。
737 0
Socket编程实践(6) --TCP服务端注意事项
僵尸进程处理 1)通过忽略SIGCHLD信号,避免僵尸进程     在server端代码中添加     signal(SIGCHLD, SIG_IGN);   2)通过wait/waitpid...
839 0
【Java学习笔记】TCP客户端/服务器端
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 客户端: import java.net.Socket; import java.net.InetAddress; import java.
603 0
java 通过 socket 实现 服务器和客户端的通信 TCP
 // JBulder 9.0下执行 package me; import java.net.* ;   //网络编程有关的类在此包 import java.io.* ;  //用到 输入输出流 public class JavaNet {   public static void main(String []args)   {      if(args.
491 0
+关注
soledad_lhc
csdn博客:http://blog.csdn.net/lhc1105
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载