资源简介

代码片段和文件信息
#include “stdafx.h“
#include
#include
#pragma comment(lib“WS2_32.lib“)
#define BUF_SIZE 1024
void main(void)
{
WSADATA wsaData;
SOCKET ListeningSocket;
SOCKET NewConnection;
SOCKADDR_IN ServerAddr;
SOCKADDR_IN ClientAddr;
int ClientAddrLen;
int Port = 5150;
int Ret;
char DataBuffer[ BUF_SIZE];
// Initialize Winsock version 2.2
if ((Ret = WSAStartup(MAKEWORD(22) &wsaData)) != 0)
{
// NOTE: Since Winsock failed to load we cannot use WSAGetLastError
// to determine the error code as is normally done when a Winsock
// API fails. We have to report the return status of the function.
printf(“WSAStartup failed with error %d\n“ Ret);
return;
}
printf(“successful 1\n“);
// Create a new socket to listening for client connections.
if ((ListeningSocket = socket(AF_INET SOCK_STREAM IPPROTO_TCP))
== INVALID_SOCKET)
{
printf(“socket failed with error %d\n“ WSAGetLastError());
WSACleanup();
return;
}
printf(“successful 2\n“);
// Setup a SOCKADDR_IN structure that will tell bind that we
// want to listen for connections on all interfaces using port
// 5150. Notice how we convert the Port variable from host byte
// order to network byte order.
ServerAddr.sin_family = AF_INET;
ServerAddr.sin_port = htons(Port);
ServerAddr.sin_addr.s_addr = htonl(INADDR_ANY);
// Associate the address information with the socket using bind.
printf(“successful 3\n“);
if (bind(ListeningSocket (SOCKADDR *)&ServerAddr sizeof(ServerAddr))
== SOCKET_ERROR)
{
printf(“bind failed with error %d\n“ WSAGetLastError());
closesocket(ListeningSocket);
WSACleanup();
return;
}
printf(“successful 4\n“);
// Listen for client connections. We used a backlog of 5 which is
// normal for many applications.
if (listen(ListeningSocket 5) == SOCKET_ERROR)
{
printf(“listen failed with error %d\n“ WSAGetLastError());
closesocket(ListeningSocket);
WSACleanup();
return;
}
printf(“We are awaiting a connection on port %d.\n“ Port);
// Accept a new connection when one arrives.
ClientAddrLen=sizeof(ServerAddr);
printf(“successful 5\n“);
if ((NewConnection = accept(ListeningSocket (SOCKADDR *) &ClientAddr
&ClientAddrLen)) == INVALID_SOCKET)
{
printf(“accept failed with error %d\n“ WSAGetLastError());
closesocket(ListeningSocket);
WSACleanup();
return;
}
printf(“We successfully got a connection from %s:%d.\n“
inet_ntoa(ClientAddr.sin_addr) ntohs(ClientAddr.sin_port));
// At this point you can do two things with these sockets. Await
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7079 2014-10-14 18:55 guess\w.cpp
文件 3758 2014-10-14 18:55 guess\ws.cpp
目录 0 2014-11-03 20:04 guess\
- 上一篇:将图片二进制流存储到数据库中
- 下一篇:gps模拟信号软件
相关资源
- Scrach 欢乐狙击手.sb2
- USB.Over.Network.Server 注册机
- Uninstall_Cortana_WINCLIENT.CN.rar
- B/S 网上订餐系统
- 通信软件的具体实例──基于Socket的
- 用Socket编程实现FTP
- websocket实现一对一聊天
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- SOCKET 网络编程 计算机网络 作业 客户
- c 制作的RPG小游戏
- linux 网络实验 ftp程序
- 用Socket写的简易FTP服务器和客户端
- socket小工具(可方便建立TCP UDP的soc
- socket客户端源码
- 多线程实例:桌面智能弹球小游戏
- 基于CSocket的多人聊天室
- 用IdFTPServer写的一个FTPServer程序
- socket文件传输源码
- Radmin Server-3.5 完美绿色破解版x32 x64通
- 小鱼捉迷藏Scratch小游戏
- Linux版的telnet安装包telnet、telnet-serv
- Scrach3.0 跳一跳小游戏
- js 迷宫小游戏源码
- Greenfoot小游戏合辑
- Scratch 走迷宫 小游戏源码
- Scratch 青蛙过马路 小游戏源码(.sb2)
- Socket自制系统
- Scratch 贪吃蛇 小游戏源码
- Scratch 打地鼠 小游戏源码
- Scratch 贪吃蛇.sb3 小游戏源码
评论
共有 条评论