急贴:大哥们帮帮忙呀!还是这个WinSock问题。

ankeecissy 2004-03-11 11:43:52
这是服务端的源代码:
char a[12];
wVersion=MAKEWORD(2,0);
WSAStartup(wVersion,&wsaData);
int sock=socket(AF_INET,SOCK_STREAM,0);
server.sin_family =PF_INET;
server.sin_port=htons(3790);
server.sin_addr.s_addr=INADDR_ANY;
if((bind(sock,(sockaddr*)&server,sizeof(sockaddr)))<0)return;
if((listen(sock,5))<0)return;
int msgsock=accept(sock,0,0);
recv(msgsock,a,12,0);
closesocket(msgsock);
WSACleanup();
这是客户端源代码:
int sock;
sockaddr_in server;
WSADATA wsaData;
DWORD wVersion;
int msgsock;
wVersion=MAKEWORD(2,0);
int err=WSAStartup(wVersion,&wsaData);
if(err<0)return;
server.sin_family=PF_INET;
server.sin_port=htons(3790);
server.sin_addr.s_addr=inet_addr("127.0.0.1");
sock=socket(AF_INET,SOCK_STREAM,0);
msgsock=connect(sock,(sockaddr*)&server,sizeof(sockaddr));
send(msgsock,"Hello world!",12,0);
closesocket(msgsock);
WSACleanup();

小弟初学WinSock编程,可是服务端不能收到消息,还希望大哥们帮帮忙!
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToIP 2004-03-29
  • 打赏
  • 举报
回复
服务器端:
SOCKET sa = accept(s, (struct sockaddr*)&clientaddr, &addrlen);
//产生新的套接字sa,用于接收和发送数据
//s仍然监听...
ankeecissy 2004-03-29
  • 打赏
  • 举报
回复
谢谢了
winter_sui 2004-03-22
  • 打赏
  • 举报
回复
同意yesry(噎死你)
倒数第三行,改为:send(msgsock,"Hello world!",12,0);
connect()的返回值是成功失败的标志,你误认成是socket了。不能向它发数据。

ggg0sss0lll 2004-03-21
  • 打赏
  • 举报
回复
你的服务器不简陋了。根本就没有接受。
HunterForPig 2004-03-21
  • 打赏
  • 举报
回复
server
少了accept
client:
send(msgsock,"Hello world!",12,0);
googoler 2004-03-21
  • 打赏
  • 举报
回复
同楼上,少了accept。
googoler 2004-03-21
  • 打赏
  • 举报
回复
同楼上,少了accept。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧