linux下组播(RH9.0不行,FC10.0和DB5.04可以):
|
文件: |
multicast.tgz.tar |
大小: |
9KB |
下载: |
下载 | |
自己动手编写嵌入式Bootloader.doc 《转》
|
文件: |
[转]自己动手编写嵌入式Bootloader.rar |
大小: |
336KB |
下载: |
下载 | |
Linux对端口资源的管理
|
文件: |
Linux对端口资源的管理.rar |
大小: |
21KB |
下载: |
下载 | |
现代操作系统 第2版 (荷) Andrew S.Tanenbaum 著
|
文件: |
Modern+Operating+Systems+2Nd+Ed+By+Tanenbaum+(Prentice+Hall).chm |
大小: |
4663KB |
下载: |
下载 | |
简单 TCP 运行时可以指明IP client接收用户输入 server输出接收的数据 端口是12310
|
文件: |
TCP-socket.rar |
大小: |
1KB |
下载: |
下载 | |
//UDP客户端代码:
#include
#include
#include /*bzero library */
#include /* socket functions */
#include /* socket structs */
#include /* inet_ptoa functions */
#define SA struct sockaddr
#define MAXLINE 1024
int main(int argc, char **argv)
{
int sockfd;
struct sockaddr_in servaddr;
if (argc != 2)
printf("usage: udpcli ");
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(8889);
//Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
dg_cli(stdin, sockfd, (SA *) &servaddr, sizeof(servaddr));
exit(0);
}
int dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen)
{
int n;
char sendline[MAXLINE], recvline[MAXLINE + 1];
while (fgets(sendline, MAXLINE, fp) != NULL)
{
printf("the client received the message is:\n");
sendto(sockfd, sendline, strlen(sendline), 0, pservaddr, servlen);
n = recvfrom(sockfd, recvline, MAXLINE, 0, NULL, NULL);
recvline[n] = '\0'; /* null terminate */
fputs(recvline, stdout);
}
}
//UDP服务器代码:
#include
#include
#include /*bzero library */
#include /* socket functions */
#include /* socket structs */
#include /* inet_ptoa functions */
#define SA struct sockaddr
#define MAXLINE 1023
int main(int argc, char** argv)
{
int sockfd;
struct sockaddr_in servaddr, cliaddr;
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(8889);
bind(sockfd, (SA *) &servaddr, sizeof(servaddr));
dg_echo(sockfd, (SA *) &cliaddr, sizeof(cliaddr));
return 0;
}
int dg_echo(int sockfd, SA *pcliaddr, socklen_t clilen)
{
int n;
socklen_t len;
char mesg[MAXLINE];
for ( ; ; )
{
len = clilen;
printf("the server received the message is:\n");
while((n = recvfrom(sockfd, mesg, MAXLINE, 0, pcliaddr, &len))>0)
{
mesg[n] ='\0';
fputs(mesg, stdout);
sendto(sockfd, mesg, n, 0, pcliaddr, len);
}
}
}
阅读(726) | 评论(0) | 转发(0) |