admin 管理员组文章数量: 887021
2023年12月19日发(作者:杨戬怕如来佛祖吗)
CSocket简单例子服务器与客户端通信
Edited on July 1, 2023 at 11am
这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信..
注意:此例子的目的只是为了说明用套接字写程序的大概思路;而不是实际项目中的使用程序..在这个例子中;实际上还有很多问题没有解决;如消息边界问题、端口号是否被占用、消息命令的解析问题等..下面是两个程序的代码;两个程序均为控制台程序
注:多个TCP连接或多个进程可能需要通过同一个 TCP协议端口传输数据..为了区别不同的应用程序进程和连接;许多为应用程序与TCP/IP协议交互提供了称为套接字Socket的接口..
先发服务端的Server完整代码如下:
引入命名空间:
using System;
using ing;
namespace SocketServer
{
class Program
{
private static byte result = new byte1024;
private static int myProt = 8885; //端口
static Socket serverSocket;
static void Mainstring args
{
//服务器IP地址
serverSocket = new
etwork; ;
;
w IPEndPointip; myProt; //绑定IP地址:端口
10; //设定最多10个排队连接请求
;
//通过Clientsoket发送数据
Thread myThread = new ThreadListenClientConnect;
;
ne;
}
///
/// 监听客户端连接
///
private static void ListenClientConnect
{
while true
{
Socket clientSocket = ;
Thread receiveThread = new
ThreadReceiveMessage;
lientSocket;
}
}
///
/// 接收消息
///
///
private static void ReceiveMessageobject clientSocket
{
Socket myClientSocket = SocketclientSocket;
while true
{
try
{
//通过clientSocket接收数据
int receiveNumber =
eresult;
ine"接收客户端{0}消息{1}";
EndPoint.T
}
catchException ex
{
e;
;
;
break;
}
}
}
}
}
以上是服务端server的完整代码..
客户端Client的完整代码如下:
引入命名空间:
using System;
using ing;
namespace SocketClient
{
class Program
{
private static byte result = new byte1024;
static void Mainstring args
{
//设定服务器IP地址
Socket clientSocket = new
etwork; ;
;
try
{
tnew IPEndPointip; 8885;
//配置服务器IP与端口
ine"连接服务器成功";
}
catch
{
ine"连接服务器失败;请按回车键退出";
return;
}
//通过clientSocket接收数据
int receiveLength = eresult;
//通过 clientSocket 发送数据
for int i = 0; i < 10; i++
{
try
{
1000; //等待1秒钟
string sendMessage = "client send Message
Hellp" + ;
ine"向服务器发送消息:{0}"
+ sendMessage;
}
catch
{
;
;
break;
}
}
ine"发送完毕;按回车键退出";
ne;
}
}
}
编译成功后;先运行 服务端server;再运行客户端client即可达到通信效果..
版权声明:本文标题:CSocket简单例子服务器与客户端通信 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702983850h438430.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论