博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net小记之——线程
阅读量:6973 次
发布时间:2019-06-27

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

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;
        }
    }
 
 

转载于:https://www.cnblogs.com/xuquantong/archive/2012/10/29/2745502.html

你可能感兴趣的文章
《安娜卡列尼娜》文本生成——利用 TensorFlow 构建 LSTM 模型
查看>>
《C语言程序设计》一 第 3 章 程序的控制结构Ⅰ——选择结构程序设计
查看>>
二十名工资最高的科技高管 仅有一家是纯安全公司
查看>>
《 嵌入式系统设计与实践》一一1.1 编译器、编程语言以及面向对象编程
查看>>
TensorFlow教程之完整教程 2.10 偏微分方程
查看>>
它是中国人口最小的城市,却美得像个意外!
查看>>
加码远程医疗 视频通信公司Vidyo获得医疗企业巨额投资
查看>>
高通输了官司,需返还黑莓8.15亿专利费
查看>>
Facebook盯上修图应用Prisma 展示类似应用
查看>>
来Snapchat和QQ看看,什么叫年轻人的大生意
查看>>
硅谷基金为什么投资iPhone黑客的初创企业
查看>>
高通要赔韩国59亿 国产企业能否借机争取自身利益
查看>>
Dell'Oro指出2017年WDM市场将维持增长
查看>>
移动医疗最严监管来袭:大批在线医疗公司将死
查看>>
宣武医院:让物联网为智慧医疗添翼
查看>>
城市更智慧生活更便捷
查看>>
新型病毒DoubleAgent曝光:攻击计算机前先入侵防病毒软件
查看>>
这款Chrome扩展:能够提升空中WiFi的页面打开速度
查看>>
服务提供商收入下降12% 思科降低Q2财政预期
查看>>
四川信息安全产业今年产值将达400亿元
查看>>