易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下udp服务器端源码示例

#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
int main(int argc, char **argv)
{
printf("server ip: %s\n", argv[1]);
printf("server port: %s\n", argv[2]);
printf("\n service starting...\n\n");
int socketFd;
struct sockaddr_in svrAddr;
struct sockaddr_in localAddr;
socketFd = socket (AF_INET, SOCK_DGRAM, 0);
if ( -1 == socketFd )
{
perror( "socket:" );
exit(-1);
}
// 设置地址可复用
int option = 1;
setsockopt( socketFd, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option) );
// 客户端IP
memset(&localAddr, 0, sizeof(localAddr));
localAddr.sin_family = AF_INET;
localAddr.sin_addr.s_addr = inet_addr( argv[1]);
localAddr.sin_port = htons (atoi(argv[2]));
int bindResult = bind(socketFd, (struct sockaddr *) &localAddr, sizeof(localAddr));
if ( -1 == bindResult )
{
perror( "bind:" );
close(socketFd);
exit(-1);
}
// 服务器IP
memset(&svrAddr, 0, sizeof(svrAddr));
svrAddr.sin_family = AF_INET;
svrAddr.sin_addr.s_addr = inet_addr( argv[1]);
svrAddr.sin_port = htons (atoi(argv[2]));
char tempBuff[2048] = {0};
for ( ; ; )
{
// 接收数据
struct sockaddr_in fromAddr;
memset((char *)&fromAddr, 0, (int)sizeof(fromAddr));
socklen_t fromLen = sizeof(fromAddr);
ssize_t result = recvfrom( socketFd, tempBuff, sizeof(tempBuff), 0, (struct sockaddr *)&fromAddr, &fromLen);
if ( -1 == result )
{
perror("recvfrom:");
continue;
}
else
{
printf( "recv data %s successed. data len


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

Linux的第一个进程:init(1)


引自:http://server.it168.com/a2009/0309/267/000000267918.shtml
4.1.7 Linux的第一个进程:init(1)
init是Linux系统执行的第一个进程,进程ID为1,是系统所有进程的起点,主要用来执行一些开机初始化脚本和监视进程。Linux系统在完成内核引导以后就开始运行init程序,init程序需要读取配置文件/etc/inittab。init ......

实用技巧:Linux系统下文件权限设置方法

  Windows系统其实和Linux系统有相似的地方,Windows系统文件、目录的属性有只读、隐藏,而Linux也一样。 Linux中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。 所谓的文件权限,是指对文件的访问权限,包括对 ......

linux程序员面试题目


一.填空题:
1. 在Linux系统中,以文件方式访问设备 。
2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统。
3. Linux文件系统中每个文件用i节点来标识。
4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和存储块数据。
5. 链接分为:硬链接 和 符号链接。
6. 超级块包含了i节点表 ......

Linux 静态与动态链接库

文章选取的例子非常简单,上手容易,只是为了讲述静态与动态链接库的生成和链接过
    程,还有他们之间的区别。以下例子在 gcc 4.1.1 下顺利通过。 
文件预览
文件目录树如下,如你所见,非常简单。
libtest/  
|-- lt.c  
|-- lt.h  
`-- test. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号