最基本的Socket编程(服务端跟客户端通信) C#版
2011-12-07 17:09
441 查看
效果图:
客户端代码
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Net;
5 using System.Net.Sockets;
6 namespace ConsoleApplication3
7 {
8 //客户端
9 class Program
{
static void Main(string[] args)
{
try
{
int port = 2000;
string host = "127.0.0.1";
///创建终结点EndPoint
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndpoint实例
///创建socket并连接到服务器
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建Socket
Console.WriteLine("正在连接…");
c.Connect(ipe);//连接到服务器
///向服务器发送信息
string sendStr = "你好, 我是客户端的信息";
byte[] bs = Encoding.UTF8.GetBytes(sendStr);//把字符串编码为字节
Console.WriteLine("发送信息");
c.Send(bs, bs.Length, 0);//发送信息
///接受从服务器返回的信息
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
recvStr += Encoding.UTF8.GetString(recvBytes, 0, bytes);
Console.WriteLine("你好,我是服务器,已经接受客户端传来的信息:{0}", recvStr);//显示服务器返回信息
///一定记着用完socket后要关闭
c.Close();
}
catch (ArgumentNullException e)
{
Console.WriteLine("argumentNullException: {0}", e);
}
catch (SocketException e)
{
Console.WriteLine("SocketException:{0}", e);
}
Console.WriteLine("Press Enter to Exit");
Console.ReadLine();
}
}
}
客户端代码
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Net;
5 using System.Net.Sockets;
6 namespace ConsoleApplication3
7 {
8 //客户端
9 class Program
{
static void Main(string[] args)
{
try
{
int port = 2000;
string host = "127.0.0.1";
///创建终结点EndPoint
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndpoint实例
///创建socket并连接到服务器
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建Socket
Console.WriteLine("正在连接…");
c.Connect(ipe);//连接到服务器
///向服务器发送信息
string sendStr = "你好, 我是客户端的信息";
byte[] bs = Encoding.UTF8.GetBytes(sendStr);//把字符串编码为字节
Console.WriteLine("发送信息");
c.Send(bs, bs.Length, 0);//发送信息
///接受从服务器返回的信息
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
recvStr += Encoding.UTF8.GetString(recvBytes, 0, bytes);
Console.WriteLine("你好,我是服务器,已经接受客户端传来的信息:{0}", recvStr);//显示服务器返回信息
///一定记着用完socket后要关闭
c.Close();
}
catch (ArgumentNullException e)
{
Console.WriteLine("argumentNullException: {0}", e);
}
catch (SocketException e)
{
Console.WriteLine("SocketException:{0}", e);
}
Console.WriteLine("Press Enter to Exit");
Console.ReadLine();
}
}
}
相关文章推荐
- C#Socket编程多客户端基于同一服务端通信
- 最基本的Socket编程(服务端跟客户端通信)
- 仿QQ聊天程序SOCKET编程服务端与客户端,成功通信
- socket编程 单向服务端与客户端通信,仅供参考
- 利用C#进行socket编程(模拟服务器和客户端通信)
- Socket编程服务端和客户端互相通信,实现简单的聊天
- C# socket编程 异步服务端 同步客户端
- socket编程 -- epoll模型服务端/客户端通信的实现
- socket编程 单向服务端与客户端通信之简单协议,仅供参考
- java-基本的Socket编程-实现服务器端和客户端通信
- linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
- C# socket 服务端与客户端通信演示代码
- java网络编程之服务端客户端socket简单通信案例
- C#客户端POST与服务端(Servlet编程)通信问题
- C# 服务端与客户端示例(Socket通信)
- C#网络编程笔记(1) -- TCP Socket通信基本过程和思路
- socket编程 -- epoll模型服务端/客户端通信的实现
- C# winform socket一个服务端和多个客户端进行通信
- (C#:Socket)简单的服务端与客户端通信。
- 【C++】Winsock套接字编程,简单的socket通信代码(客户端、服务端)