ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
以前学shell语言时,也构架过服务器与客户端,觉得好难,因为当时刚学shell,对这个语言不是很了解,而且基于linux,是在控制台编代码。觉得学的很糟!今天看了黑马里的网络编程的视屏,觉得很给力。还是说说Socket吧。
在.net中要使用socket,必须先引用命名空间-system.net.socket,这里有处理套接字socket的一些方法。
socket在服务端与客户端的应用模式如下:
1.服务端welcoming监听客户端发出的连接消息
2.客户端连接服务端的指定端口。(专门用来接收消息和发送消息)
3.服务端监听到客户端后,通过welcoming的套接字来创建连接客户端的套接字connection(专门用来发送消息)
这里要说明一下,一般welcoming 绑定在指定的端口,监听客户端发来的消息。
具体实现如下:
服务器:
Socket sokWatch = null;
Thread thread = null; private void button1_Click(object sender, EventArgs e) { //创建监听的套接字 sokWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建IP地址 IPAddress address =IPAddress.Parse(txtIP.Text.Trim()); //创建端口地址 IPEndPoint post = new IPEndPoint(address, int.Parse(txtPost.Text.Trim())); //将监听器绑定在端口上 sokWatch.Bind(post); //端口同时连接上限为10 sokWatch.Listen(10); //多线程来处理服务器等待连接 thread = new Thread(getAccept); thread.Start(); ShowMsg("服务器正在监听客户响应........!"); } void getAccept() { Socket sockConnection = sokWatch.Accept(); ShowMsg("有客户端接入!"); } void ShowMsg(string msg) { txtMsg.AppendText(msg+"\r\n"); }客户端:
IPAddress address = IPAddress.Parse(txtIP.Text.Trim());
IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtPost.Text.Trim())); Socket sokConnection = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); sokConnection.Connect(endpoint);这个就说到这里。
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! 详细请查看:http://edu.csdn.net