zoukankan      html  css  js  c++  java
  • asp.net小记之——线程

    2012年10月26日,星期五
     
    线程池*
    TCP和UDP的区别*
     
    手动创建线程:
        Thread thread = new Thread(new Thread.Start(DemoMethod));
        thread.IsBackground = true;
        thread.Name = "xqt";
        thread.Priority = ThreadPriority.Highest;//设置线程的级别
        thread.Start();

        static void DemoMethod()
        {
            Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
        }
     
    Socket通信的模型:
        服务器端:
            -创建Socket:寻址方式,传输的方式,协议————只负责接听
            -绑定一个Host地址和端口:端口同一时间只能被一个进程占用;
            -开启侦听:Linsten();
            -接收用户的请求:Accept();————创建一个新的通信套接字;
            -客户端关闭Socket时,就关闭了通信Socket;
        客户端:
            -创建Socket
            -连接到服务器端——指定IP和端口
            -与服务器端新创建的套接字进行通信
            -可进行Send和Recive了
            -客户端可调用SocketShutdown关闭Socket
            -直接Socket.Close()关闭时,服务器端会报异常,除非手动关闭;
     
    //socket通信模型,服务器端
                - Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                - IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
                - IPEndPoint endPoint = new IPEndPoint(ipAddress, 8888);
                - socket.Bind(endPoint);
                - socket.Listen(10);
    //客户端:
               - Socket clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
               - IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"),8888);
               - clientSocket.Connect(endPoint);
     
    SocketHelper:
    public class SocketHelper
        {
            //创建服务器端socket
            //创建一个监听一个ip和端口的socket
            //传递两个参数:ip,端口号
            public static Socket CreateListenSocket(string ip,int port)
            {
                if(string.IsNullOrEmpty(ip) || port>65535 || port < 0)
                {
                    return null;
                }
                Socket socket = new Socket(AddressFamily.InterNetWork,SocketType.Stream,ProtocolType.Tcp);
                IPAddress ipAddress = IPAddress.Parse(ip);
                IPEndPoint endpoint = new IPEndPoint(ipAddress,port);
                socket.Bind(endpoint);
                socket.Listen(10);
                return socket;
            }
            //客户端连接服务器
            public static Socket ConnectServer(string ip,int port)
            {
                Socket clientSocket = null;
                try
                {
                    clientSocket = new Socket(AddressFamily.InterNetWork,SocketType.Stream,ProtocolType.Tcp);
                    IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse(ip),port);
                    clientSocket.Connect(endPoint);
                }
                finally
                {
                    //记录日志
                }
                return clientSocket;
            }
        }
     
     



  • 相关阅读:
    ORA-01536: 超出表空间 'tablespace_name' 的空间限额
    Oracle数据库表索引失效,解决办法:修改Oracle数据库优化器模式
    解决response.setHeader("Content-disposition" 中文乱码问题
    MyBatis配置:在控制台打印SQL语句
    JS 字符串转日期格式 日期格式化字符串
    远程桌面管理工具Remote Desktop Connection Manager
    调整Windows操作系统下时间同步的频率
    Oracle数据库中字符型字段按数字排序
    “Error:(1, 1) java: 非法字符: 'ufeff'”错误解决办法
    本次孩子流感总结
  • 原文地址:https://www.cnblogs.com/xuquantong/p/2745502.html
Copyright © 2011-2022 走看看