c#网络通信
来源:互联网 发布:淘宝链接怎么弄 编辑:程序博客网 时间:2024/04/24 13:17
一:服务器端程序 ( ======10.17=====)
1.建立服务器端socket
1)使用Socket类 :
建立服务器Socket对象:
Socket objs=new Socket(参数);
使用IPEndPoint类设置服务器ip地址和端口号;或使用Dns类
IPAddress serip=IPAddress.Parse(ip地址);
或: IPAddress serip=Dns.Resolve(Dns.GetHostName()).AddressList[0];
IPEndPoint objp=new IPEndPoint(serip,端口号);
使用Socket类的Bind方法设置服务器Socket
objs.Bind(objp); 参数为ip地址和端口号
使用Socket类的Listen方法开始监听等待客户端的链接请求
objs.Listen(10); 10为最大客户端链接数;
2)使用TcpListener类:
指定服务器ip地址和端口号;
IPAddress serip=IPAddress.Parse(ip地址);
或: IPAddress serip=Dns.Resolve(Dns.GetHostName()).AddressList[0];
TcpListener tcpl=new TcpListener(serip,端口号);
使用TcpListener类的Strat()方法开始监听等待客户端的链接请求
tcpl.Start();
2.接受客户端的链接
1)使用Socket类:
Socket news=objs.Accept();
Accept()方法用来接受客户端的链接请求,并建立新的Socket对象,该对象将作为服务端和客户端链接及数据传输的依据;
2)使用TcpListener类:
Socket news=tcpl.AcceptSocket();
AcceptSocket()方法接受链接请求,并建立新的Socket对象,该对象将作为服务端和客户端链接及数据传输的依据;
或:
TcpClient tcpc=tcpl.AcceptTcpLClient();
AcceptTcpLClient()方法接受链接请求,并建立新的Socket对象,该对象将作为服务端和客户端链接及数据传输的依据;
3.接受并发送信息
1)使用Socket类:
send()方法:发送数据到已链接的Socket;
sendTo()方法:发送数据到特定ip;
Receive()方法:从链接的Socket接受数据;
ReceiveFrom()方法:从特定的ip接受数据;
2)使用TcpListener类:
如果链接是AcceptSocket()获得,则可使用Socket类的接收方法;
如果链接是AcceptTcpLClient()获得,则使用TcpClient类的GetStream()方法取得服务端的输入输出流NetworkStream;
public NetworkStream GetStream();
然后就可以使用该类的方法来处理数据的发送和接受了;
Read()方法;
ReadByte()方法;
Write();
WriteByte();
Close(); 关闭流
4.关闭链接
1)使用Socket类:
Close();
为避免链接在关闭前,仍在进程数据的操作,使用该方法暂停数据的发送和接受操作
ShutDown();
2)使用TcpListener类:
Stop();
二:客户端程序 ( ======10.18=====)
1.建立客户端socket
1) 使用Socket类:
建立客户端socket对象:
Socket objC=new Socket(参数);
使用IPEndPoint类设置服务器ip地址和端口号;或使用Dns类
IPAddress serip=IPAddress.Parse(ip地址);
或: IPAddress serip=Dns.Resolve(Dns.GetHostName()).AddressList[0];
IPEndPoint objp=new IPEndPoint(serip,端口号);
2)使用TcpClient类:
TcpClient tcpl=new TcpClient();
指定服务器ip地址和端口号;
IPAddress serip=IPAddress.Parse(ip地址);
或: IPAddress serip=Dns.Resolve(Dns.GetHostName()).AddressList[0];
IPEndPoint tcpP=new IPEndPoint(serip,端口号);
2.连接到服务器
1) 使用socket类:
objC.Connect(objp); 参数是IPEndPoint类指定的服务器的ip和侦听端口号;
2)使用TcpClient类:
tcpl.Connect(tcpP);
3.接受并发送信息
1)使用socket类:
send()方法:发送数据到已链接的Socket;
sendTo()方法:发送数据到特定ip;
Receive()方法:从链接的Socket接受数据;
ReceiveFrom()方法:从特定的ip接受数据;
2)使用TcpClient类:
使用TcpClient类的GetStream()方法取得客户端的输入输出流NetworkStream;
public NetworkStream GetStream();
然后就可以使用该类的方法来处理数据的发送和接受了;
Read()方法;
ReadByte()方法;
Write();
WriteByte();
Close(); 关闭流
4.关闭链接
1)使用socket类:
暂停客户端socket上数据的传送操作;
Shutdown(Send/Receive/Both);
关闭客户端链接:
Close();
2)使用TcpClient类:
Close();
======================================C#收发邮件======================================
邮件协议:
SMTP (Simple Mail Transfer Protocol) : 简单邮件协议 用于发送邮件
POP3 (Post Office Protocol version 3) :邮局协议(第三版) 用于接收邮件
IMAP4 (Internet Mail Access Protocol 4): 用于接收邮件
- C#网络通信
- c#网络通信
- c# 网络通信
- C#网络通信
- c#网络通信实验教程
- C#网络通信:TCP连接
- c#下的Socket网络通信(类库)
- C#与网络通信研究(一)
- C# 网络编程实例 UDP TCP通信
- C# 利用socket实现语音网络通信
- C#实现简单的网络通信
- C# Socket网络通信初探(一)
- c#网络通信框架networkcomms内核解析
- C# 网络通信大小端转换类
- C# 通俗解释网络通信中的“报头”
- C#网络编程-简单的通信源码
- C#网络通信(2)--TCP编程和多线程
- DirectX编程:C#中利用Socket实现网络语音通信
- 搜索引擎入口
- 教你怎样扩展Eclipse的扩展点(五)
- Inkscape tutorial advanced:高级教程
- MY FIRst BLOG
- 使用OSGI的服务
- c#网络通信
- Global中使用线程隔时执行一项任务
- xfire学习笔记
- C#中的文件操作 (一)
- 巨量计算机类英文原版电子书(Addison.Wesley|O'Reilly|MS Press等出版社)
- c#文件操作(二)
- Collections of RTP specificantion related knowledge
- 用C#把文件转换为XML
- 对虚拟目录的操作