网络编程???

有错吗?为什么输入信息回车就结束了什么也看不见//客户端代码intmain(intargc,char**argv){WSADATAwsd;SOCKETs;charsend... 有错吗?为什么输入信息回车就结束了什么也看不见
//客户端代码
int main(int argc, char **argv)
{
WSADATA wsd;
SOCKET s;
char sendbuf[2048];
int ret,i;
SOCKADDR_IN recipient;
if (WSAStartup(MAKEWORD(2, 2), &wsd) != 0)
{
printf("WSAStartup failed!\n");
return 1;
}
s = socket(AF_INET, SOCK_DGRAM, 0);
if (s == INVALID_SOCKET)
{
printf("socket() failed; %d\n", WSAGetLastError());
return 1;
}
recipient.sin_family = AF_INET;
recipient.sin_port = htons((short)iPort);
if ((recipient.sin_addr.s_addr = inet_addr(szRecipient))== INADDR_NONE)
{
struct hostent *host=NULL;
host = gethostbyname(szRecipient);
if (host)
CopyMemory(&recipient.sin_addr, host->h_addr_list[0],host->h_length);
else
{
printf("gethostbyname() failed: %d\n", WSAGetLastError());
WSACleanup();
return 1;
}
}
connect(s, (SOCKADDR *)&recipient,sizeof(recipient)) == SOCKET_ERROR)
while(1)
{
sendto(s,(const char*)sendbuf, dwLength, 0,(SOCKADDR *)&recipient, sizeof(recipient));
}
closesocket(s);
GlobalFree(sendbuf);
WSACleanup();
return 0;
}
//UDP服务代码
#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#pragma comment(lib, "ws2_32.lib")
#define DEFAULT_PORT 5150
#define DEFAULT_COUNT 25
#define DEFAULT_BUFFER_LENGTH 4096
int iPort = DEFAULT_PORT;
DWORD dwCount = DEFAULT_COUNT;
dwLength = DEFAULT_BUFFER_LENGTH;
BOOL bInterface = FALSE;
char szInterface[32];
int main(int argc, char **argv)
{
WSADATA wsd;
SOCKET s;
char recvbuf[2048];
int ret,i;
DWORD dwSenderSize;
SOCKADDR_IN sender,local;
if (WSAStartup(MAKEWORD(2,2), &wsd) != 0)
{
printf("WSAStartup failed!\n");
return 1;
}
s = socket(AF_INET, SOCK_DGRAM, 0);
if (s == INVALID_SOCKET)
{
printf("socket() failed; %d\n", WSAGetLastError());
return 1;
}
local.sin_family = AF_INET;
local.sin_port = htons((short)iPort);
if (bInterface)
local.sin_addr.s_addr = inet_addr(szInterface);
else
local.sin_addr.s_addr = htonl(INADDR_ANY);
int h0;
h0=sizeof(local);
if (bind(s, (SOCKADDR *)&local,h0) == SOCKET_ERROR)
{
printf("bind() failed: %d\n", WSAGetLastError());
return 1;
}
while(1)
{
accept(s, (SOCKADDR *)&local,h0);
dwSenderSize = sizeof(sender);
recvfrom(s, recvbuf, dwLength, 0, (SOCKADDR *)&sender, &dwSenderSize);
printf("[%s] sent me: '%s'\n", inet_ntoa(sender.sin_addr), recvbuf);
}
closesocket(s);
GlobalFree(recvbuf);
WSACleanup();
return 0;
}
展开
 我来答
celalang
2012-12-29
知道答主
回答量:52
采纳率:0%
帮助的人:19.3万
展开全部
return 0 除掉
追问
只能发送一次  ????
相距N米
2012-12-29
知道答主
回答量:3
采纳率:0%
帮助的人:4852
展开全部
呃。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式