简单的Linux客户-服务器网络程序_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3103 | 回复: 1   主题: 简单的Linux客户-服务器网络程序        上一篇   下一篇 
snisn
注册用户
等级:新兵
经验:51
发帖:84
精华:0
注册:2011-10-23
状态:离线
发送短消息息给snisn 加好友    发送短消息息给snisn 发消息
发表于: IP:您无权察看 2015-12-25 16:15:08 | [全部帖] [楼主帖] 楼主


下面这段程序中,服务器监听5000端口,客户端通过TCP连接上去以后,服务器会向客户端发送“Hello,success”字符串。程序非常简单,却实现了基本功能。

 

服务器端程序如下


#include <sys/socket.h>
#include <netinet/in.h>
int main()
{  
int listensock,connsock;  
const char buff[]="Hello,success";  
struct sockaddr_in serveraddr;  
bzero(&serveraddr,sizeof(serveraddr));  
listensock=socket(AF_INET,SOCK_STREAM,0);  
serveraddr.sin_family=AF_INET;  
serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);  
serveraddr.sin_port=htons(5000);
  bind(listensock,(struct sockaddr*)&serveraddr,sizeof(serveraddr));  
  printf("begin to listen on port 5000... ");  
  listen(listensock,1024);  
  connsock=accept(listensock,NULL,NULL);  
  send(connsock,buff,sizeof(buff),0);  
  close(connsock);  
  close(listensock);
  }


客户端程序如下


#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc,char *argv[])
{ 
int sockfd; 
char buffer[100]; 
struct sockaddr_in serveraddr; 
bzero(&serveraddr,sizeof(serveraddr)); 
serveraddr.sin_family=AF_INET; 
serveraddr.sin_port=htons(5000); 
inet_pton(AF_INET,"192.168.9.9",&serveraddr.sin_addr); 
sockfd=socket(AF_INET,SOCK_STREAM,0); 
int value=connect(sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr)); 
if(value==0)  
printf("connect succeed "); 

else  printf("connect failed "); 
recv(sockfd,buffer,sizeof(buffer),0); 
printf("%s ",buffer); close(sockfd);
}










赞(0)    操作        顶端 
arcona
注册用户
等级:少校
经验:1100
发帖:10
精华:0
注册:2015-6-1
状态:离线
发送短消息息给arcona 加好友    发送短消息息给arcona 发消息
发表于: IP:您无权察看 2016-5-16 9:13:43 | [全部帖] [楼主帖] 2  楼

感谢楼主无私奉献~~



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论