Windows环境下socket编程C语言编写
标签:
•
文件类型: .rar
•
文件大小: 15.92MB
•
下载次数: 1
•
有一个服务器与客户端,两者可以通话。VC++环境下可以直接运行。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4084 2015-05-21 16:44 Client2Client2Client2.vcxproj
文件 944 2015-05-21 16:43 Client2Client2Client2.vcxproj.filters
文件 1501 2015-05-21 19:17 Client2Client2DebugClient2.log
文件 550 2015-05-21 19:17 Client2Client2DebugClient2.tlogcl.command.1.tlog
文件 21786 2015-05-21 19:17 Client2Client2DebugClient2.tlogCL.read.1.tlog
文件 288 2015-05-21 19:17 Client2Client2DebugClient2.tlogCL.write.1.tlog
文件 151 2015-05-21 19:17 Client2Client2DebugClient2.tlogClient2.lastbuildstate
文件 962 2015-05-21 19:17 Client2Client2DebugClient2.tloglink.command.1.tlog
文件 2276 2015-05-21 19:17 Client2Client2DebugClient2.tloglink.read.1.tlog
文件 272 2015-05-21 19:17 Client2Client2DebugClient2.tloglink.write.1.tlog
文件 781312 2015-05-21 19:17 Client2Client2Debugvc120.idb
文件 421888 2015-05-21 19:17 Client2Client2Debugvc120.pdb
文件 33109 2015-05-21 19:17 Client2Client2Debug源.obj
文件 2051 2015-05-21 20:55 Client2Client2源.cpp
文件 37486592 2015-05-21 21:05 Client2Client2.sdf
文件 967 2015-05-21 16:42 Client2Client2.sln
..A..H. 22016 2015-05-21 21:05 Client2Client2.v12.suo
文件 32256 2015-05-21 19:17 Client2DebugClient2.exe
文件 256092 2015-05-21 19:17 Client2DebugClient2.ilk
文件 1142784 2015-05-21 19:17 Client2DebugClient2.pdb
文件 33280 2015-05-21 17:56 Server2DebugServer2.exe
文件 262900 2015-05-21 17:56 Server2DebugServer2.ilk
文件 1142784 2015-05-21 17:56 Server2DebugServer2.pdb
文件 1225 2015-05-21 17:56 Server2Server2DebugServer2.log
文件 604 2015-05-21 17:56 Server2Server2DebugServer2.tlogcl.command.1.tlog
文件 21732 2015-05-21 17:56 Server2Server2DebugServer2.tlogCL.read.1.tlog
文件 288 2015-05-21 17:56 Server2Server2DebugServer2.tlogCL.write.1.tlog
文件 962 2015-05-21 17:56 Server2Server2DebugServer2.tloglink.command.1.tlog
文件 2484 2015-05-21 17:56 Server2Server2DebugServer2.tloglink.read.1.tlog
文件 272 2015-05-21 17:56 Server2Server2DebugServer2.tloglink.write.1.tlog
............此处省略23个文件信息
#pragma comment(lib“ws2_32.lib“)
#include
#include
#include
//定义与主机连接的端口
#define PORT 8888
//定义最大传输数据量
#define MAXDATA 100
//由入口函数得到需要连接主机的IP地址
int main(int ars char** arg)
{
//开启windows的socket
WSADATA wsaData;
WSAStartup(0x101 &wsaData);
//定义服务器
struct sockaddr_in serveraddr;
//将serveraddr清零
memset((void*)&serveraddr 0 sizeof(serveraddr));
//定义家族协议
serveraddr.sin_family = AF_INET;
//得到主机IP地址
serveraddr.sin_addr.s_addr = inet_addr(“127.0.0.1“);
//得到端口
serveraddr.sin_port = htons(PORT);
//得到socket嵌套字
SOCKET s = socket(AF_INET SOCK_STREAM 0);
/*
*建立TCP连接
*参数1:socket返回的描述符
*参数2:主机IP地址和端口号指针
*参数3:远端地质借口长度
*/
if (connect(s (struct sockaddr*)&serveraddr sizeof(serveraddr)) == -1)
{
perror(“连接错误!“);
exit(1);
}
//进入监听服务器发送消息,采取异步通信
while (1)
{
//初始化接收和发送数据的存储
char receiveBuffer[MAXDATA] = “
“;
char sendBuffer[MAXDATA] = “
“;
//定发送模式
bool sendFlag = false;
//如果接收数据位-1则接收错误,正确是recv返回接收到数据的长度
if (recv(s receiveBuffer MAXDATA 0) == -1)
{
perror(“接收数据错误!“);
exit(1);
}
printf(“server %s send message: %s
“ inet_ntoa(serveraddr.sin_addr) receiveBuffer);
//发送模式
sendFlag = true;
while (sendFlag)
{
char* CloseClient = “bye“;
char* CloseC_S = “byebye“;
//得到输入的数据
printf(“Your Message :“);
scanf(“%s“ sendBuffer);
if (strcmp(sendBuffer CloseClient) == 0)
{
send(s CloseClient strlen(CloseClient) 0);
closesocket(s);
exit(1);
}
else{
//得到发送数据的长度
int sendLen = send(s sendBuffer strlen(sendBuffer) 0);
//发送数据长度为-1时,发送失败
if (sendLen == -1)
{
perror(“发送错误!“);
closesocket(s);
}
}
//发送模式结束,进入接收模式
sendFlag = false;
}
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4084 2015-05-21 16:44 Client2Client2Client2.vcxproj
文件 944 2015-05-21 16:43 Client2Client2Client2.vcxproj.filters
文件 1501 2015-05-21 19:17 Client2Client2DebugClient2.log
文件 550 2015-05-21 19:17 Client2Client2DebugClient2.tlogcl.command.1.tlog
文件 21786 2015-05-21 19:17 Client2Client2DebugClient2.tlogCL.read.1.tlog
文件 288 2015-05-21 19:17 Client2Client2DebugClient2.tlogCL.write.1.tlog
文件 151 2015-05-21 19:17 Client2Client2DebugClient2.tlogClient2.lastbuildstate
文件 962 2015-05-21 19:17 Client2Client2DebugClient2.tlogli
文件 2276 2015-05-21 19:17 Client2Client2DebugClient2.tlogli
文件 272 2015-05-21 19:17 Client2Client2DebugClient2.tlogli
文件 781312 2015-05-21 19:17 Client2Client2Debugvc120.idb
文件 421888 2015-05-21 19:17 Client2Client2Debugvc120.pdb
文件 33109 2015-05-21 19:17 Client2Client2Debug源.obj
文件 2051 2015-05-21 20:55 Client2Client2源.cpp
文件 37486592 2015-05-21 21:05 Client2Client2.sdf
文件 967 2015-05-21 16:42 Client2Client2.sln
..A..H. 22016 2015-05-21 21:05 Client2Client2.v12.suo
文件 32256 2015-05-21 19:17 Client2DebugClient2.exe
文件 256092 2015-05-21 19:17 Client2DebugClient2.ilk
文件 1142784 2015-05-21 19:17 Client2DebugClient2.pdb
文件 33280 2015-05-21 17:56 Server2DebugServer2.exe
文件 262900 2015-05-21 17:56 Server2DebugServer2.ilk
文件 1142784 2015-05-21 17:56 Server2DebugServer2.pdb
文件 1225 2015-05-21 17:56 Server2Server2DebugServer2.log
文件 604 2015-05-21 17:56 Server2Server2DebugServer2.tlogcl.command.1.tlog
文件 21732 2015-05-21 17:56 Server2Server2DebugServer2.tlogCL.read.1.tlog
文件 288 2015-05-21 17:56 Server2Server2DebugServer2.tlogCL.write.1.tlog
文件 962 2015-05-21 17:56 Server2Server2DebugServer2.tlogli
文件 2484 2015-05-21 17:56 Server2Server2DebugServer2.tlogli
文件 272 2015-05-21 17:56 Server2Server2DebugServer2.tlogli
............此处省略23个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)