一点关于socket的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:38:55
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define SERVPORT 3333 /*服务器监听端口号 */
#define BACKLOG 10 /* 最大同时连接请求数 */
main()
{
int sockfd,client_fd; /*sock_fd:监听socket;client_fd:数据传输socket */
struct sockaddr_in my_addr; /* 本机地址信息 */
struct sockaddr_in remote_addr; /* 客户端地址信息 */
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket创建出错!"); exit(1);
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(SERVPORT);
my_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(my_addr.sin_zero),8);
if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) \
== -1) {
perror("bind出错!");
exit(1);
}
if (listen(sockfd, B

第一:2次调CLOSE是第2个CLOSE是通信完后才调用的,第一个是出错的时候关闭的。
第二:fork返回BOOL值。
SOCKET写的程序可以跨操作系统用,都支持。而WINSOCK是WINDOWS自己实现的网络编程接口,写出来的程序只能在WINDOWS平台使用。
C#中的SOCKET是有.net框架结构限制的,编程更容易些,很多线程的问题都给你解决了。
另外,初期的时候用VC++写网络编程会非常困难,建议你有2年VC开发经验之后再来做网络的底层编程。

如果你是四川的给我发百度消息吧,我有一些C#和VC程序开发的经验和自己做的东西,可以给你。

真懂这方面的,人家不一定会免费帮你.朋友.还是买书来看吧!

你说的这些问题一时半会说不清楚,需要的是时间....