C#Socket

原创 2004年06月28日 09:55:00

//The Server

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace SocketTest
{
 public class Server3
 {
  public Server3()
  {
   
  }
  public void run() {
   string data;
   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 newclient = (IPEndPoint)client.RemoteEndPoint;
   Console.WriteLine("Connected with {0} at port {1}",
    newclient.Address, newclient.Port);
   NetworkStream ns = new NetworkStream(client);
   StreamReader sr = new StreamReader(ns);
   StreamWriter sw = new StreamWriter(ns);
   string welcome = "Welcome to my test server";
   sw.WriteLine(welcome);
   sw.Flush();
   while(true) {
    try {
     data = sr.ReadLine();
    } catch (IOException) {
     break;
    }
    Console.WriteLine(data);
    sw.WriteLine(data);
    sw.Flush();
   }
   Console.WriteLine("Disconnected from {0}", newclient.Address);
   sw.Close();
   sr.Close();
   ns.Close();
  }
 }
}

/////////////////////////////////////////////////////////////////////////

//The Client

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace SocketTest
{

 public class Client3
 {
  public Client3()
  {
   
  }
  public void run() {
   string data;
   string input;
   IPEndPoint ipep = new IPEndPoint(
    IPAddress.Parse("127.0.0.1"), 9050);
   Socket server = new Socket(AddressFamily.InterNetwork,
    SocketType.Stream, ProtocolType.Tcp);
   try {
    server.Connect(ipep);
   } catch (SocketException e) {
    Console.WriteLine("Unable to connect to server.");
    Console.WriteLine(e.ToString());
    return;
   }
   NetworkStream ns = new NetworkStream(server);
   StreamReader sr = new StreamReader(ns);
   StreamWriter sw = new StreamWriter(ns);
   data = sr.ReadLine();
   Console.WriteLine(data);
   while(true) {
    input = Console.ReadLine();
    if (input == "exit")
     break;
    sw.WriteLine(input);
    sw.Flush();
    data = sr.ReadLine();
    Console.WriteLine(data);
   }
   Console.WriteLine("Disconnecting from server...");
   sr.Close();
   sw.Close();
   ns.Close();
   server.Shutdown(SocketShutdown.Both);
   server.Close();
  }
 }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

windows环境下用c++实现socket编程

一、什么是Socket socket即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过socket向网络发出请求或者回应。 sockets(套接字)编程有三种,流式套接字(SOCK_S...
  • xiaoquantouer
  • xiaoquantouer
  • 2017年02月27日 16:29
  • 15192

C++服务器(六):socket 异步模型与select 的实现

之前在另一篇博客上提到一些关于socket 的异步模型的资料,其中有一篇博客写得很详细,在此附上链接: socket阻塞与非阻塞,同步与异步、I/O模型[1]这篇博客已经讲得很好了。但是我还是觉得...
  • u014613043
  • u014613043
  • 2016年04月07日 20:12
  • 3130

C++ Socket编程实例解析

Socket socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具...
  • u012391923
  • u012391923
  • 2016年10月21日 11:57
  • 18939

C#简单同步socket网络通讯

  • 2017年10月31日 09:50
  • 70KB
  • 下载

C# winform Socket 即时通讯

  • 2017年10月27日 11:20
  • 98KB
  • 下载

C# 稳定的Socket组件

  • 2017年11月08日 10:59
  • 624KB
  • 下载

C#Socket测试客户端服务端结构通信

  • 2015年04月30日 12:02
  • 130KB
  • 下载

C# Socket 聊天程序 文件传输有问题 望高手指教

  • 2012年06月05日 22:01
  • 282KB
  • 下载

socket聊天通讯(c#)

  • 2012年10月26日 14:17
  • 92KB
  • 下载

C#Socket通信

  • 2017年06月12日 14:04
  • 122KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#Socket
举报原因:
原因补充:

(最多只允许输入30个字)