免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Socket经典的接受-发送文件案例1, 说明本文基于VS2005开发平台,VC+语言,控制台console程序。经本机测试,能够通过。2, socket说明:其实就是微软的API。里面有很多函数供大家使用。其实大家很多时候都比较模糊,API是什么东东。我在这里,向大家简单说下我的理解,很简单就是程序员做了很多类,类里面有很多方法,俗称组件。放在服务器上,然后开发出一个接口,供大家使用。大家可以基于这个接口,开发很多程序。就这么简单,呵呵,可能我表述的不是很准确,还请大家多多包涵。不用多说,直接上案例。3, socket发送的目的地址方式为:IP+port方式。如1:224, 本案例有两个文件,一个是客户端程序(client.cs);一个是服务器端程序(server.cs)。客户端程序代码 using System;using System.Net;using System.Net.Sockets;using System.Text;namespace tcpclient / / Class1 的摘要说明。 / class client / / 应用程序的主入口点。 / STAThread static void Main(string args) / / TODO: 在此处添加代码以启动应用程序 / byte data = new byte1024; Socket newclient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Console.Write( please input the server ip: ); string ipadd = Console.ReadLine(); Console.WriteLine(); Console.Write( please input the server port: ); int port = Convert.ToInt32(Console.ReadLine(); IPEndPoint ie = new IPEndPoint(IPAddress.Parse(ipadd), port); / 服务器的IP和端口 try / 因为客户端只是用来向特定的服务器发送信息,所以不需要绑定本机的IP和端口。不需要监听。 newclient.Connect(ie); catch (SocketException e) Console.WriteLine( unable to connect to server ); Console.WriteLine(e.ToString(); return; int recv = newclient.Receive(data); string stringdata = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringdata); while (true) string input = Console.ReadLine(); if (input = exit ) break; newclient.Send(Encoding.ASCII.GetBytes(input); data = new byte1024; recv = newclient.Receive(data); stringdata = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringdata); Console.WriteLine( disconnect from sercer ); newclient.Shutdown(SocketShutdown.Both); newclient.Close(); 服务器端程序using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;namespace SOCKET class Program static void Main(string args) int recv; byte data = new byte1024; IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050); Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); newsock.Bind(ipep); newsock.Listen(10); Console.WriteLine(waiting for a client); Socket client = newsock.Accept(); IPEndPoint clientip = (IPEndPoint)client.RemoteEndPoint; Console.WriteLine(connect with client: + clientip.Address+at port+clientip.Port); string welcome = welcome here!; data = Encoding.ASCII.GetBytes(welcome); client.Send(data, data.Length, SocketFlags.None); while (true) data = new byte1024; recv = client.Receive(data); Console.WriteLine(recv= + recv); if (recv = 0) break; Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv); client.Send(data,recv,SocketFlags.None); Console.WriteLine(Disconnected from+clientip.Address); client.Close(); n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年雅安辅警协警招聘考试备考题库及答案详解(名师系列)
- 2024年包头辅警协警招聘考试真题含答案详解(突破训练)
- 2024年兴安盟辅警协警招聘考试备考题库附答案详解
- 2024年太原辅警招聘考试题库附答案详解(巩固)
- 2023年驻马店辅警招聘考试真题附答案详解(a卷)
- 2024年安徽辅警协警招聘考试真题附答案详解(突破训练)
- 2024年嘉义县辅警协警招聘考试真题及答案详解(真题汇编)
- 2023年盐城辅警协警招聘考试备考题库含答案详解(能力提升)
- 2023年衡水辅警协警招聘考试备考题库带答案详解
- 2023年黑龙江辅警协警招聘考试备考题库附答案详解ab卷
- 报价单表Excel表格模板
- 【《互联网金融背景下众安保险企业发展策略浅析》6200字(论文)】
- 2025年采购知识考试及答案
- 商场消防设施检测及整改报告
- 电力基础知识培训资料课件
- 大连工业大学《Linux应用编程》2024-2025学年第一学期期末试卷
- 外事办公室翻译招聘笔试(韩语)经典考题含答案
- 2025版荒山荒地地质灾害监测与预警合作协议书
- 2025年注册安全工程师考试真题(含答案)
- APW基础运用+FSSE进行工位人机工程评价
- DB45∕T 2228.2-2020 公路养护预算编制办法及定额 第2部分:公路日常养护年度预算编制办法及指标
评论
0/150
提交评论