C语言 socket 传输

我需要用socket把客户端的信息传输到服务器端。最好能是1客户端和服务器端的程序代码2说一下要传输的信息是哪一部分IP地址又在哪里设置3要传输的部分是由WINDOWS的... 我需要用socket把客户端的信息传输到服务器端。
最好能是
1客户端和服务器端的程序代码
2说一下要传输的信息是哪一部分IP地址又在哪里设置
3要传输的部分是由WINDOWS的API采集的信息
谢谢!
展开
 我来答
xz宏定义
2013-05-27 · TA获得超过1029个赞
知道小有建树答主
回答量:1621
采纳率:100%
帮助的人:230万
展开全部
///////////////////////////////////////////
//server
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")

int main()
{
WSADATA              wsaData;

int ret = WSAStartup(MAKEWORD(2,2), &wsaData);

SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//本地地址信息
sockaddr_in localAddr;
localAddr.sin_family = AF_INET;
localAddr.sin_port = htons(5000); //本地端口
localAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

if(!bind(s,(sockaddr *)&localAddr,sizeof(sockaddr)))
printf("bind ok\n");
//远程主机地址
sockaddr_in remoteAddr;
int remoteAddrLen = sizeof(sockaddr);
listen(s,5);
SOCKET remoteSocket;
while(1)
{
remoteSocket = accept(s,(sockaddr *)&remoteAddr,&remoteAddrLen);
if(remoteSocket!= -1)
 break;
}

printf("connection from remote\n");

char buf[100] = { 0 };
int bufLen = 100;
recv(remoteSocket, buf, bufLen, 0);
printf("%s", buf);

system("pause");

return 0;
}

//////////
//client
/////////
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")

int main()
{
WSADATA              wsaData;

int ret = WSAStartup(MAKEWORD(2,2), &wsaData);


SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//本地地址信息
sockaddr_in localAddr;
localAddr.sin_family = AF_INET;
localAddr.sin_port = htons(9999); //本地端口
localAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

bind(s,(sockaddr *)&localAddr,sizeof(sockaddr));

//远程主机地址
sockaddr_in remoteAddr;
remoteAddr.sin_family = AF_INET;
remoteAddr.sin_port = htons(5000); //远程端口
remoteAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");// 远程IP地址

ret = connect(s,(sockaddr *)&remoteAddr,sizeof(sockaddr));
if(!ret) {
printf("connection ok\n");
}

ret = send(s, "hello", 6, 0);
printf("%d bytes sended\n", ret);

closesocket(s);

WSACleanup();

system("pause");

return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式