Socket的简单例子

服务器端

using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Net;
using System.Net.Sockets;//Socket相关的类

namespace ChatServer
{
class Program
{
static void Main(string[] args)
{

//创建服务器上的监听Socket对象,用来监听客户端的连接请求
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//公开一个IP地址和端口号(终结点EndPoint)
IPEndPoint ep = new IPEndPoint(IPAddress.Any, 18888);
//将监听Socket对象绑定到终结点
server.Bind(ep);
//开始监听,100指排队的队列长度
server.Listen(100);
Console.WriteLine("服务器已经启动了......");

//如果有客户端的连接请求,则接收该连接,自动启动一个数据收发的Socekt对象
Socket socket = server.Accept();

//接收数据
byte[] buffer = new byte[1024];
int length = socket.Receive(buffer);
Console.WriteLine(System.Text.Encoding.UTF8.GetString(buffer, 0, length));

string info = string.Format("At {0} Server Recive {1} byte info",DateTime.Now.ToString(),length);
socket.Send(System.Text.Encoding.UTF8.GetBytes(info));
}
}
}

客户端

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Net;
using System.Net.Sockets;

namespace ChatClient
{
class Program
{
static void Main(string[] args)
{
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//Connect连接 的终结点是服务器公开的终结点
client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"),18888));
Console.WriteLine("连接成功了");

string info = "hello,I am mwh";
//发送数据
client.Send(System.Text.Encoding.UTF8.GetBytes(info));

byte[] buffer = new byte[1024];
int length = client.Receive(buffer);
Console.WriteLine(System.Text.Encoding.UTF8.GetString(buffer, 0, length));
}
}
}

Socket的简单例子

时间: 2024-11-05 14:40:29

Socket的简单例子的相关文章

java socket编程开发简单例子

1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特性,如果要测试以下代码,java版本不能低于1.8 // 客户端 public static void main(String[] args) { try (Scanner scan = new Scanner(System.in); Socket client = new Socket("127.0.0.1"

C#通信之Socket通信的简单例子

socket通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过”套接字”向网络发出请求或者应答网络请求. 这里构建一个简单的例子,客户端发消息,服务端接收,然后回执一条消息.大致能够了解如何使用Socket进行通信. 服务端监听,接收信息: 客户端连接,并发送信息: 使用Socket通信,程序一般会在幕后运行,然后再合适的时间提示信息.这很自然的就会涉及到多线程的问题.在这个例子中因为每个连接都要创建一 个线程,所以需要对线程进行管理.这里我使用了两个类:Conn

[转] 3个学习Socket编程的简单例子:TCP Server/Client, Select

以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计socket编程就已经基本入门了. 建议:1) 多多查查所用到的网络接口; 2) 最好有一本书,如UNIX环境高级编程,UNIX网络编程,可查询:3) 可以直接使用书上的例子更好. http://blog.csdn.net/zhenjing/article/details/4770490 TCP C

(转)C# Socket简单例子(服务器与客户端通信)

本文转载自:http://blog.csdn.net/andrew_wx/article/details/6629721 这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信. 注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序.在这个例子中,实际上还有很多问题没有解决,如消息边界问题.端口号是否被占用.消息命令的解析问题等.. 下面是两个程序的代码,(两个程序均为控制台程序) 先发服务端的(Server)完整代码如下: 引入命名空间: [cshar

linux下java程序与C语言程序通过SOCKET通信的简单例子

linux下java程序与C语言程序通过SOCKET通信的简单例子 今天上午实验了java程序与c语言程序通过socket进行通信.由于没学过java,因此只是编写了C语言端的代码,java端的代码是从网上别的文章中找的,经过少量修改后与C语言端程序通信成功. 本例中C语言端作为服务器,java端作为客户端 代码如下: /****************** server program *****************/ #include <stdio.h> #include <sy

Hadoop RPC简单例子

jdk中已经提供了一个RPC框架-RMI,但是该PRC框架过于重量级并且可控之处比较少,所以Hadoop RPC实现了自定义的PRC框架. 同其他RPC框架一样,Hadoop RPC分为四个部分: (1)序列化层:Clent与Server端通信传递的信息采用了Hadoop里提供的序列化类或自定义的Writable类型: (2)函数调用层:Hadoop RPC通过动态代理以及java反射实现函数调用: (3)网络传输层:Hadoop RPC采用了基于TCP/IP的socket机制: (4)服务器端

从两个简单例子窥视协程的惊人性能

我们用普通同步方式扫描10个端口,用协程(异步)方式扫描1000个端口,对比时间. 1.同步方式代码 #encoding=utf-8 #author: walker #date: 2014-07-16 #function: 使用同步方式扫描10个端口 import time, socket, sys def task(addr): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(100) try:

基于 django 实现的 webssh 简单例子

说明 新建一个 django 程序,本文为 chain. 以下仅为简单例子,实际应用 可根据自己平台情况 进行修改. 打开首页后,需要输入1,后台去登录主机,然后返回登录结果. 正常项目 可以post 主机和登录账户,进行权限判断,然后去后台读取账户密码,进行登录. djang后台 需要安装以下模块 安装后会有一个版本号报错,不影响 channels==2.0.2 channels-redis==2.1.0 amqp==1.4.9 anyjson==0.3.3 asgi-redis==1.4.3

SparkStreaming简单例子(oldAPI)

SparkStreaming简单例子 ◆ 构建第一个Streaming程序: (wordCount) ◆ Spark Streaming 程序最好以使用Maven或者sbt编译出来的独立应用的形式运行. ◆ 准备工作: 1.引入Spark Streaming的jar 2.scala流计算import声明 import org.apache.spark.streaming.StreamingContext import org.apache.spark.streaming.StreamingCon