一个简单的Socket 应用程序一个简单的Socket 应用程序 
用C#写的一个简单的Socket 在.net中的应用程序:实现效果如上:客户端发送一条消息,服务器端回应一条消息。这样更能随时知道消息发送出去是否被接收到.
实现的方法主要是用的.net同步Socket ,和线程技术。
服务器:
 1)    定义一个Socket 用于监听:
         private Socket Listener;
一个简单的Socket 应用程序 Listener =new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
一个简单的Socket 应用程序       IPEndPoint BindIp 
= new IPEndPoint(IPAddress.Parse(IP), int.Parse(txtPort.Text));
一个简单的Socket 应用程序       Listener.Bind(BindIp);
一个简单的Socket 应用程序       Listener.Listen(
100);
一个简单的Socket 应用程序
一个简单的Socket 应用程序       btnListen.Text 
= "Listening 一个简单的Socket 应用程序";
一个简单的Socket 应用程序       staticTool.Text 
= "正在监听一个简单的Socket 应用程序";
一个简单的Socket 应用程序       IsListen 
= true;
2)  启动一个线程用于接受客户端Socket的连接
    
一个简单的Socket 应用程序Thread acceptThread = new Thread(new ThreadStart(AcceptWorkThread));
一个简单的Socket 应用程序       acceptThread.Start();
一个简单的Socket 应用程序
一个简单的Socket 应用程序    
private void AcceptWorkThread()
    }
3 ) 在上面一段代码中,是将于客户端连接的Socket保存下来,并将这个Socket当作参数开启另外一个线程,在另外一个线程中,接受客户端socket发来的数据和向客户端发送数据已响应客户端发送的数据已被接收。
一个简单的Socket 应用程序private void ReceiveWorkThread(object obj)
    }
4) 将接收到的数据显示出来,利用了委托定义了一个事件,因为在别的线程中是无法调用界面控件的。
一个简单的Socket 应用程序
一个简单的Socket 应用程序    
private void ReceiveData(object sender,EventArgs e )
    }
到此服务器端的代码已完成。
再来实现客户端,客户端要实现的主要有:
1)建立Socket,连接到服务端,创建线程接受数据,向发送数据。

一个简单的Socket 应用程序    Socket ClientSocket=null ;
一个简单的Socket 应用程序       ClientSocket 
= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
一个简单的Socket 应用程序      ClientSocket.Connect(IPAddress.Parse(txtIP.Text), 
int.Parse(txtPort .Text ));
一个简单的Socket 应用程序
一个简单的Socket 应用程序      
new Thread(new ParameterizedThreadStart(ReceiveThread)).Start ();
一个简单的Socket 应用程序
一个简单的Socket 应用程序    
private void ReceiveThread(object obj)
一个简单的Socket 应用程序
一个简单的Socket 应用程序    
private void btnSend_Click(object sender, EventArgs e)
    }

完整代码下载

相关文章: