当前位置:首页 » 编程软件 » socket编程vs

socket编程vs

发布时间: 2023-12-26 15:37:16

A. SOCKET编程资料

我选第一个题目,这是服务器端,用c#实现的(VS2005):
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Threading;
using System.Net.Sockets;

namespace conNetWorkServer
{
class Program
{
static void Main(string[] args)
{
Socket client;
Socket ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
byte[] addbyte = { 127, 0, 0, 1 };
IPEndPoint add = new IPEndPoint(new IPAddress(addbyte), 5050);
ServerSocket.Bind(add);
ServerSocket.Listen(3);

while (true)
{
Thread.Sleep(100);
if ((client = ServerSocket.Accept()) != null)
{
Console.WriteLine("连接上...发送数据....");
byte[] message = { 49, 50, 51, 52, 53, 54, 0 };
client.Send(message);
Console.WriteLine("结束.")
client.Close();
break;
}

}

}
}
}
这是客户端:
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Threading;
using System.Net.Sockets;

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

Socket Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
byte[] addbyte = { 127, 0, 0, 1 };
Server.Connect(new IPAddress(addbyte), 5050);
byte[] buffer = new byte[255];
if (Server.Receive(buffer) > 0)
{
Console.WriteLine("连接上...");
Console.WriteLine("从服务器接收数据...");
Console.WriteLine(buffer.ToString());
Console.WriteLine("连接断开...");
Server.Disconnect(false);
Server.Close();
}

}
}
}

B. 在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库

需要用到的头文件包含:

#include <winsock2.h>

#include <windows.h>

与Linux环境下socket编程相比,windows环境多了一个步骤:启动或者初始化winsock库

Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:

Winsock 1:

Windows CE平台支持。

头文件:WinSock.h

库:wsock32.lib

Winsock 2:

部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数;

头文件:WinSock2.h

库:ws2_32.lib

mswsock.h用于编程扩展,使用时必须链接mswsock.dll

(2)socket编程vs扩展阅读

winsock库的加载与卸载:

加载:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

加载成功,返回值为0。

WORD wVersionRequested:加载的winsock版本,使用宏MAKEWORD(x, y),x表示高字节,y表示低字节。然而使用时MAKEWORD(2, 2)。高字节与低字节相同~~

LPWSADATA lpWSAData:WSADATA结构的指针,传入参数后,系统帮助我们填充版本信息。有兴趣的可以看看结构体内容,不过基本用不着。

卸载:int WSACleanup(void);比起加载,卸载的函数真是轻松愉快。

热点内容
电脑什么配置要合适 发布:2025-07-01 04:24:15 浏览:164
哪个安卓恢复工具不要钱 发布:2025-07-01 04:21:54 浏览:739
sql加空格 发布:2025-07-01 04:09:38 浏览:577
如何关闭ftp防篡改 发布:2025-07-01 04:09:04 浏览:88
顽固的缓存 发布:2025-07-01 03:28:23 浏览:114
u盘插安卓手机上怎么加密 发布:2025-07-01 03:09:19 浏览:91
php记住我 发布:2025-07-01 02:58:51 浏览:392
流媒体服务器搭建php 发布:2025-07-01 02:54:24 浏览:371
我的世界服务器地板方块 发布:2025-07-01 02:41:35 浏览:565
魔域服务器爆满怎么进 发布:2025-07-01 02:31:42 浏览:739