网络协议与套接字编程

网络协议与套接字编程

ID:37599503

大小:271.31 KB

页数:19页

时间:2019-05-12

网络协议与套接字编程_第1页
网络协议与套接字编程_第2页
网络协议与套接字编程_第3页
网络协议与套接字编程_第4页
网络协议与套接字编程_第5页
资源描述:

《网络协议与套接字编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章网络协议与套接字编程9.1进程和线程9.2C#中线程的开发9.3TCP/IP网络协议9.4套接字编程技术9.5数据流9.1进程和线程基本概念进程在Windows中,系统能够同时运行多个程序,每一个正在运行的程序称为一个进程线程同一个进程又可以分成若干个独立的执行流,我们称之为线程。线程是操作系统向其分配处理器时间的基本单位。线程可执行进程的任何一部分代码,包括当前由另一线程执行的部分。并行性(并发处理)并发处理指计算机真正的或者是表面上呈现的同时处理。进程、线程和并行性在程序开发中的作用程序实例(进程的使用)创建一个C#Windows应用程序,设

2、计界面如图按钮事件:privatevoidbuttonStart_Click(objectsender,System.EventArgse){//启动Notepad.exe进程。myProcess.Start();}privatevoidbuttonStop_Click(objectsender,System.EventArgse){Process[]myProcesses;//创建新的Process组件的数组,并将它们与指定的进//程名称(Notepad)的所有进程资源相关联。myProcesses=Process.GetProcessesByNam

3、e("Notepad");foreach(ProcessinstanceinmyProcesses){//设置终止当前线程前等待的毫秒数instance.WaitForExit(1000);instance.CloseMainWindow();}}privatevoidbuttonView_Click(objectsender,System.EventArgse){this.listBox1.Items.Clear();Process[]processes;//创建Process类型的数组,并将它们与系统内所有进程相关联processes=Proces

4、s.GetProcesses();foreach(Processpinprocesses){//将每个进程名和进程开始时间加入listBox1中this.listBox1.Items.Add(p.ProcessName+""+p.StartTime.ToShortTimeString());}}9.2C#中线程的开发基本概念(操作)1.启动线程2.让线程休眠3.销毁线程4.ThreadState属性5.线程的优先级6.线程池程序实例(启动线程)usingSystem;usingSystem.Threading;classTestThread{publi

5、cstaticvoidMain(){Threadthread1=newThread(newThreadStart(Method1));Threadthread2=newThread(newThreadStart(Method2));thread1.Start();thread2.Start();Console.Read();}publicstaticvoidMethod1(){for(inti=0;i<1000;i++)Console.Write("a");}publicstaticvoidMethod2(){for(inti=0;i<1000;i++

6、)Console.Write("b");}}9.3TCP/IP网络协议TCP/IP协议实际上是一组协议的总称,它是一个4层的网络体系结构(应用层、传输层、网络层、网络接口层),这个4层的网络体系结构包括100多个相互关联的协议,由于IP是网络层最主要的协议,TCP是传输层最主要的协议,因此简称为TCP/IP协议。9.4套接字编程技术基本概念IP地址和端口IP地址端口套接字面向连接的套接字在面向连接的套接字中,使用TCP协议来建立两个IP地址端点之间的会话。一旦建立了这种连接,就可以在设备之间可靠的传输数据。为了建立面向连接的套接字,服务器和客户端必须分

7、别进行编程。面向无连接的套接字无连接的套接字不需要在网络设备之间发送连接信息。因此,很难确定谁是服务器谁是客户机面向连接的套接字(上图)面向无连接的套接字编程(下图)Socket()Bind()Listen()Accept()Receive()Send()Close()Socket()Connect()Send()Receive()Close()Socket()Bind()ReceiveFrom()SendTo()Close()Socket()Bind()SendTo()ReceiveFrom()Close()9.4套接字编程技术基本概念无阻塞编程技术

8、无阻塞套接字当套接字是非阻塞模式的时候,就不会一直等待一个I/O方法的完成。多路传输套接字So

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。