server 和 client 通讯
server
client
为什么能显示连接成功 客户端发送的时候也能打印出send %d %s success
但是server端却接不到我发送的 数据 ,recv总是返回-1
还有在client上 我使用了while(1)了为什么在我第一次输入时
比如abc
打印 send success
再输入一个 随便输入 程序就结束了
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main()
{
int n;
int sockfd,newsockfd;
struct sockaddr_in sockadd,newsockadd;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&sockadd,sizeof(struct sockaddr_in));
sockadd.sin_family = AF_INET;
sockadd.sin_port = htons(3633);
bind(sockfd, &sockadd, sizeof(struct sockaddr));
listen(sockfd, 2);
for(;;)
{
newsockfd = accept(sockfd, &newsockadd, sizeof(struct sockaddr));
printf("somebody has connected!!\n");
if(!fork())
{
while(1)
{
char buffer[101];
bzero(buffer,101);
int len = recv(newsockfd, buffer, 100,0);
if(len > 0)
{
printf("success\n");
printf("%d %s\n",len,buffer);
}else
{
//printf("%d\n",len);
}
}
}
}
close(sockfd);
return 0;
}
client
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
int main()
{
int sockfd;
struct sockaddr_in sockadd;
struct hostent *he;
he = gethostbyname("localhost");
bzero(&sockadd, sizeof(struct sockaddr));
sockadd.sin_family = AF_INET;
sockadd.sin_addr = *((struct in_addr *)he->h_addr);
sockadd.sin_port = htons(3633);
sockfd = socket(AF_INET,SOCK_STREAM, 0);
connect(sockfd, &sockadd, sizeof(struct sockaddr));
char buffer[101];
char revbuf[101];
int lenght;
while(1)
{
bzero(buffer,101);
scanf("%s",buffer);
lenght = send(sockfd, buffer, sizeof(buffer), 0);
if(lenght > 0)
printf("send %d %s success\n",lenght,buffer);
}
//close(sockfd);
return 0;
}
为什么能显示连接成功 客户端发送的时候也能打印出send %d %s success
但是server端却接不到我发送的 数据 ,recv总是返回-1
还有在client上 我使用了while(1)了为什么在我第一次输入时
比如abc
打印 send success
再输入一个 随便输入 程序就结束了
...全文
相关推荐
C# Socket通讯框架,封装了Client和Server端类库,带实例
C# Socket通讯框架,封装了Client和Server端类库,带演示实例和使用手册.
AsyncSocket实现Server和Client通讯功能
这是一款使用AsyncSocket实现Server和Client通讯功能,也是一款很不错的发送简单信息的小应用,该应用装在两台iOS设备,一台可以作为服务器,一台可以作为客户端,非常完美,而且也很清晰,容易上手。
Java Server和android iOS Client Socket通讯代码示例
使用Java 语言开发Socket Server,实现和android和iOS Socket client通讯的工程代码,数据可以使用TCP或UDP协议,通过文本,XML,Json,Base64及二进制传送,支持中文。
com串口通讯实例server和client
用vc++编程、用MSComm实现的串口通讯,服务端和客户端实例源码。已经测试通过。
基于JavaFx的Socket多线程通讯程序实例(含:Server端和Client端)
基于JavaFx的Socket多线程通讯程序实例(含:Server端和Client端),初学者必备。


