社区
通信技术
帖子详情
交作业,急,多谢帮忙
wuwei419
2003-06-02 10:23:45
题目让用winsock数据报通信方式实现server和client的通信,小弟根本没学过此方面的知识,哪位大虾能帮忙介绍一下winsock相应的数据结构和函数,只介绍用到的就行,如果有基本流程最好,谢谢了。(不用mfc)
...全文
23
3
打赏
收藏
交作业,急,多谢帮忙
题目让用winsock数据报通信方式实现server和client的通信,小弟根本没学过此方面的知识,哪位大虾能帮忙介绍一下winsock相应的数据结构和函数,只介绍用到的就行,如果有基本流程最好,谢谢了。(不用mfc)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shenfuhua
2003-06-03
打赏
举报
回复
不要偷懒哦。好好看弄懂
tserpent
2003-06-03
打赏
举报
回复
//server
#include <stdio.h>
#include <winsock.h>
#include <windows.h>
#define SERVER_SOCKET_ERROR 1
#define SOCKET_OK 0
#pragma comment(lib, "wsock32.lib")
void socketError(char*);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShow)
{
WORD sockVersion;
WSADATA wsaData;
int rVal;
sockVersion = MAKEWORD(1,1);
//start dll
WSAStartup(sockVersion, &wsaData);
//create socket
SOCKET s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if(s == INVALID_SOCKET)
{
socketError("Failed socket()");
WSACleanup();
return SERVER_SOCKET_ERROR;
}
//fill in sockaddr_in struct
SOCKADDR_IN sin;
sin.sin_family = PF_INET;
sin.sin_port = htons(8888);
sin.sin_addr.s_addr = INADDR_ANY;
//bind the socket
rVal = bind(s, (LPSOCKADDR)&sin, sizeof(sin));
if(rVal == SOCKET_ERROR)
{
socketError("Failed bind()");
WSACleanup();
return SERVER_SOCKET_ERROR;
}
//get socket to listen
rVal = listen(s, 2);
if(rVal == SOCKET_ERROR)
{
socketError("Failed listen()");
WSACleanup();
return SERVER_SOCKET_ERROR;
}
//wait for a client
SOCKET client;
client = accept(s, NULL, NULL);
if(client == INVALID_SOCKET)
{
socketError("Failed accept()");
WSACleanup();
return SERVER_SOCKET_ERROR;
}
//close process
closesocket(client);
closesocket(s);
WSACleanup();
return SOCKET_OK;
};
void socketError(char* str)
{
MessageBox(NULL, str, "SOCKET ERROR", MB_OK);
};
//clent
#include <windows.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")
#define CS_ERROR 1
#define CS_OK 0
void sError(char*);
int WINAPI WinMain(HINSTANCE hHinst, HINSTANCE hPrevHinst, LPSTR lpCmdLine,
int nShow)
{
WORD version;
WSADATA wsaData;
int rVal=0;
version = MAKEWORD(1,1);
WSAStartup(version,(LPWSADATA)&wsaData);
LPHOSTENT hostEntry;
//store information about the server
hostEntry = gethostbyname("hibbert");
if(!hostEntry)
{
sError("Failed gethostbyname()");
//WSACleanup();
return CS_ERROR;
}
//create the socket
SOCKET theSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if(theSocket == SOCKET_ERROR)
{
sError("Failed socket()");
return CS_ERROR;
}
//Fill in the sockaddr_in struct
SOCKADDR_IN serverInfo;
serverInfo.sin_family = PF_INET;
serverInfo.sin_addr = *((LPIN_ADDR)*hostEntry->h_addr_list);
serverInfo.sin_port = htons(8888);
rVal=connect(theSocket,(LPSOCKADDR)&serverInfo, sizeof(serverInfo));
if(rVal==SOCKET_ERROR)
{
sError("Failed connect()");
return CS_ERROR;
}
closesocket(theSocket);
WSACleanup();
MessageBox(NULL, "Connection was made", "SOCKET", MB_OK);
return CS_OK;
}
void sError(char *str)
{
MessageBox(NULL, str, "SOCKET ERROR", MB_OK);
WSACleanup();
}
wuwei419
2003-06-03
打赏
举报
回复
3x,看得差不多,可是我看得好象这是基于连接的,作业要求用无连接的数据报形式,能在帮忙讲讲吗?
ActiveMq工作无忧面试题详解
如果您对整个课程感兴趣可以直接在本网站搜索“张立坤”讲师即可查看我的所有课程的精讲内容,
多谢
支持。 目标: 通过本课程学习,能够很好的认识消息队列的高可用方案——主从架构和分布式集群架构,能够很好的理解...
java编写算术平均数,[求助]基础-怎样编一个计算算术平均数的程序(
急
啊)
[求助]基础-怎样编一个计算算术平均数的程序(
急
啊)刚刚开始学习JAVA,不好意思明天就要
交
作业
了,还是编不出高手
帮忙
吧题目:编写一个计算随意多少个数的算术平均数的程序首先要有一个对话框,可以输入你要计算的数字...
我在CSDN参与的3000个帖子
2:100分
急
求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手
帮忙
! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,...
电影名称词条14W
给需要用到词条的人
webmagic采集CSDN的Java_WebDevelop页面
请大家帮帮我,谢谢,耽误你们点时间,帮我指导指导,我做了2天都没有做出来,明天就要
交
作业
了,请大家帮帮我。 , 请教hibernate排序问题, java 权限管理, 如何实现在jsp页面中选择txt文件,点击下载时进行下载, ...
通信技术
4,356
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章