社区
C语言
帖子详情
请问哪位有C语言的SOCKET简单程序啊
xiaoyetao08
2006-08-24 01:58:56
请问谁有C语言下的SOCKET源代码啊?只要能接能收就行。谢谢了:)火急
...全文
213
2
打赏
收藏
请问哪位有C语言的SOCKET简单程序啊
请问谁有C语言下的SOCKET源代码啊?只要能接能收就行。谢谢了:)火急
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xvbn_2003
2006-08-25
打赏
举报
回复
网上多的是,自己找呀!
xddzccn
2006-08-24
打赏
举报
回复
/*******服务器程序 TCPServer.c ************/
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define WAITBUF 1
int main()
{
int sockfd,new_fd;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
int sin_size,portnumber;
char hello[]="Socket communication world!\n";
int i;
//if(argc!=2)
//{
//fprintf(stderr,"Usage:%s portnumber\a\n",argv[0]);
// exit(1);
//}
/*端口号不对,退出*/
//if((portnumber=atoi(argv[1]))<0)
//{
// fprintf(stderr,"Usage:%s portnumber\a\n",argv[0]);
//exit(1);
//}
/*服务器端开始建立socket描述符*/
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
fprintf(stderr,"Socket error:%s\n\a",strerror(errno));
exit(1);
}
portnumber=23;
/*服务器端填充 sockaddr结构*/
bzero(&server_addr,sizeof(struct sockaddr_in));
server_addr.sin_family=AF_INET;
/*自动填充主机IP*/
server_addr.sin_addr.s_addr=INADDR_ANY;
server_addr.sin_port=htons(portnumber);
/*捆绑sockfd描述符*/
if(bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1)
{
fprintf(stderr,"Bind error:%s\n\a",strerror(errno));
exit(1);
}
/*监听sockfd描述符*/
if(listen(sockfd, WAITBUF)==-1)
{
fprintf(stderr,"Listen error:%s\n\a",strerror(errno));
exit(1);
}
while(1)
{
/*服务器阻塞,直到客户程序建立连接*/
sin_size=sizeof(struct sockaddr_in);
if((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size))==-1)
{
fprintf(stderr,"Accept error:%s\n\a",strerror(errno));
exit(1);
}
/*可以在这里加上自己的处理函数*/
fprintf(stderr,"Server get connection from %s\n",inet_ntoa(client_addr.sin_addr));
if(send(new_fd,hello,strlen(hello),0)==-1)
{
fprintf(stderr,"Write Error:%s\n",strerror(errno));
exit(1);
}
close(new_fd);
}
/*这个通信已经结束*/
/*循环下一个*/
close(sockfd);
exit(0);
}
/******* 客户端程序 TCPClient.c ************/
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define RECVBUFSIZE 1024
int main(int argc, char *argv[])
{
int sockfd;
char buffer[RECVBUFSIZE];
struct sockaddr_in server_addr;
struct hostent *host;
int portnumber,nbytes;
*if(argc!=3)
{
fprintf(stderr,"Usage:%s hostname portnumber\a\n",argv[0]);
exit(1);
}
if((portnumber=atoi(argv[2]))<0)
{
fprintf(stderr,"Usage:%s hostname portnumber\a\n",argv[0]);
exit(1);
}
/*客户程序开始建立 sockfd描述符*/
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
fprintf(stderr,"Socket Error:%s\a\n",strerror(errno));
exit(1);
}
/*客户程序填充服务端的资料*/
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(portnumber);
server_addr.sin_addr.s_addr = inet_addr(argv[1]);
/*客户程序发起连接请求*/
if(connect(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1)
{
fprintf(stderr,"Connect Error:%s\a\n",strerror(errno));
exit(1);
}
/*连接成功*/
if((nbytes=recv(sockfd,buffer, RECVBUFSIZE),0)==-1)
{
fprintf(stderr,"Read Error:%s\n",strerror(errno));
exit(1);
}
buffer[nbytes]='\0';
printf("I have received:%s\n",buffer);
/*结束通讯*/
close(sockfd);
exit(0);
}
C语言
Socket
简单
编程指南
C语言
Socket
编程是网络编程中的一项重要技术,它允许
程序
之间通过网络进行通信。
Socket
编程通常涉及到了解套接字(
Socket
)的基本概念、网络理论、各种网络编程函数以及如何处理IP地址等问题。以下是从提供的文件...
linux
C语言
socket
通信聊天小
程序
总的来说,这个"Linux
C语言
socket
通信聊天小
程序
"项目涵盖了网络编程的基础知识,包括
Socket
接口的使用、TCP通信、多线程编程、错误处理以及
简单
的数据交互协议设计。对于初学者,这是一个很好的实践项目,可以...
C语言
socket
实现文件下载
以上就是使用
C语言
socket
实现文件下载的基本流程。实际应用中,还需要考虑更多的细节,如异常处理、内存管理、性能优化等。通过深入理解和实践这些知识点,可以更好地掌握网络编程,实现高效的文件下载服务。
C语言
socket
编程.pdf
总之,“
C语言
socket
编程.pdf”这份文档将带领读者深入理解
socket
编程,掌握客户端-服务器通信的核心技术,对于想要在系统级编程和网络开发领域深耕的IT从业者来说,是一份非常有价值的参考资料。通过学习和实践,你...
c语言
SOCKET
编程指南.pdf
描述: 本文档是关于
C语言
Socket
编程的指南,适合初学者,主要介绍如何编写Internet相关
程序
,重点在于
Socket
编程的基本操作和结构。虽然内容不是完整的
Socket
编程书,但可以作为入门学习使用。文档中的代码主要在...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章